// export Lesiu , Ostra , Fajfer , Blood , Wojtek , Moralez , Gizold ; export Eclipse , Pamel ; export function PrepareEastLegion ; begin
   0: LD_INT 0
   2: PPUSH
// uc_side = 7 ;
   3: LD_ADDR_OWVAR 20
   7: PUSH
   8: LD_INT 7
  10: ST_TO_ADDR
// uc_nation = 1 ;
  11: LD_ADDR_OWVAR 21
  15: PUSH
  16: LD_INT 1
  18: ST_TO_ADDR
// Eclipse = CreateCharacter ( Eclipse ) ;
  19: LD_ADDR_EXP 8
  23: PUSH
  24: LD_STRING Eclipse
  26: PPUSH
  27: CALL_OW 34
  31: ST_TO_ADDR
// Pamel = CreateCharacter ( Pamel ) ;
  32: LD_ADDR_EXP 9
  36: PUSH
  37: LD_STRING Pamel
  39: PPUSH
  40: CALL_OW 34
  44: ST_TO_ADDR
// SetClass ( [ Eclipse , Pamel ] , 1 ) ;
  45: LD_EXP 8
  49: PUSH
  50: LD_EXP 9
  54: PUSH
  55: EMPTY
  56: LIST
  57: LIST
  58: PPUSH
  59: LD_INT 1
  61: PPUSH
  62: CALL_OW 336
// uc_side = 8 ;
  66: LD_ADDR_OWVAR 20
  70: PUSH
  71: LD_INT 8
  73: ST_TO_ADDR
// uc_nation = 1 ;
  74: LD_ADDR_OWVAR 21
  78: PUSH
  79: LD_INT 1
  81: ST_TO_ADDR
// Gizold = CreateCharacter ( Gizold ) ;
  82: LD_ADDR_EXP 7
  86: PUSH
  87: LD_STRING Gizold
  89: PPUSH
  90: CALL_OW 34
  94: ST_TO_ADDR
// lesiu = CreateCharacter ( lesiu ) ;
  95: LD_ADDR_EXP 1
  99: PUSH
 100: LD_STRING lesiu
 102: PPUSH
 103: CALL_OW 34
 107: ST_TO_ADDR
// PlaceHumanInUnit ( Lesiu , Buldozer ) ;
 108: LD_EXP 1
 112: PPUSH
 113: LD_INT 247
 115: PPUSH
 116: CALL_OW 52
// ostra = CreateCharacter ( ostra ) ;
 120: LD_ADDR_EXP 2
 124: PUSH
 125: LD_STRING ostra
 127: PPUSH
 128: CALL_OW 34
 132: ST_TO_ADDR
// PlaceHumanInUnit ( ostra , p1 ) ;
 133: LD_EXP 2
 137: PPUSH
 138: LD_INT 276
 140: PPUSH
 141: CALL_OW 52
// fajfer = CreateCharacter ( fajfer ) ;
 145: LD_ADDR_EXP 3
 149: PUSH
 150: LD_STRING fajfer
 152: PPUSH
 153: CALL_OW 34
 157: ST_TO_ADDR
// PlaceHumanInUnit ( fajfer , p2 ) ;
 158: LD_EXP 3
 162: PPUSH
 163: LD_INT 285
 165: PPUSH
 166: CALL_OW 52
// blood = CreateCharacter ( blood ) ;
 170: LD_ADDR_EXP 4
 174: PUSH
 175: LD_STRING blood
 177: PPUSH
 178: CALL_OW 34
 182: ST_TO_ADDR
// PlaceHumanInUnit ( blood , p3 ) ;
 183: LD_EXP 4
 187: PPUSH
 188: LD_INT 272
 190: PPUSH
 191: CALL_OW 52
// wojtek = CreateCharacter ( wojtek ) ;
 195: LD_ADDR_EXP 5
 199: PUSH
 200: LD_STRING wojtek
 202: PPUSH
 203: CALL_OW 34
 207: ST_TO_ADDR
// PlaceHumanInUnit ( wojtek , p4 ) ;
 208: LD_EXP 5
 212: PPUSH
 213: LD_INT 287
 215: PPUSH
 216: CALL_OW 52
// uc_nation = 2 ;
 220: LD_ADDR_OWVAR 21
 224: PUSH
 225: LD_INT 2
 227: ST_TO_ADDR
// moralez = CreateCharacter ( moralez ) ;
 228: LD_ADDR_EXP 6
 232: PUSH
 233: LD_STRING moralez
 235: PPUSH
 236: CALL_OW 34
 240: ST_TO_ADDR
// PlaceHumanInUnit ( moralez , p5 ) ;
 241: LD_EXP 6
 245: PPUSH
 246: LD_INT 290
 248: PPUSH
 249: CALL_OW 52
// SetClass ( [ lesiu , blood , wojtek , moralez ] , 1 ) ;
 253: LD_EXP 1
 257: PUSH
 258: LD_EXP 4
 262: PUSH
 263: LD_EXP 5
 267: PUSH
 268: LD_EXP 6
 272: PUSH
 273: EMPTY
 274: LIST
 275: LIST
 276: LIST
 277: LIST
 278: PPUSH
 279: LD_INT 1
 281: PPUSH
 282: CALL_OW 336
// SetClass ( Ostra , 2 ) ;
 286: LD_EXP 2
 290: PPUSH
 291: LD_INT 2
 293: PPUSH
 294: CALL_OW 336
// SetClass ( Fajfer , 4 ) ;
 298: LD_EXP 3
 302: PPUSH
 303: LD_INT 4
 305: PPUSH
 306: CALL_OW 336
// AddCargo ( p5 , 1 , 100 ) ;
 310: LD_INT 290
 312: PPUSH
 313: LD_INT 1
 315: PPUSH
 316: LD_INT 100
 318: PPUSH
 319: CALL_OW 291
// end ;
 323: LD_VAR 0 1
 327: RET
// export Ru1So , Ru2So , Ru3So ; export function PrepareRussian ; var i , un , RuTurr , Ru1So ; begin
 328: LD_INT 0
 330: PPUSH
 331: PPUSH
 332: PPUSH
 333: PPUSH
 334: PPUSH
// uc_side = 3 ;
 335: LD_ADDR_OWVAR 20
 339: PUSH
 340: LD_INT 3
 342: ST_TO_ADDR
// uc_nation = 3 ;
 343: LD_ADDR_OWVAR 21
 347: PUSH
 348: LD_INT 3
 350: ST_TO_ADDR
// RuTurr := FilterAllUnits ( [ [ f_side , 3 ] , [ f_btype , b_bunker ] ] ) ;
 351: LD_ADDR_VAR 0 4
 355: PUSH
 356: LD_INT 22
 358: PUSH
 359: LD_INT 3
 361: PUSH
 362: EMPTY
 363: LIST
 364: LIST
 365: PUSH
 366: LD_INT 30
 368: PUSH
 369: LD_INT 32
 371: PUSH
 372: EMPTY
 373: LIST
 374: LIST
 375: PUSH
 376: EMPTY
 377: LIST
 378: LIST
 379: PPUSH
 380: CALL_OW 69
 384: ST_TO_ADDR
// for i in RuTurr do
 385: LD_ADDR_VAR 0 2
 389: PUSH
 390: LD_VAR 0 4
 394: PUSH
 395: FOR_IN
 396: IFFALSE 581
// begin if IsInUnit ( i ) = 0 then
 398: LD_VAR 0 2
 402: PPUSH
 403: CALL_OW 310
 407: PUSH
 408: LD_INT 0
 410: EQUAL
 411: IFFALSE 579
// begin uc_side = 3 ;
 413: LD_ADDR_OWVAR 20
 417: PUSH
 418: LD_INT 3
 420: ST_TO_ADDR
// uc_nation = 3 ;
 421: LD_ADDR_OWVAR 21
 425: PUSH
 426: LD_INT 3
 428: ST_TO_ADDR
// hc_gallery =  ;
 429: LD_ADDR_OWVAR 33
 433: PUSH
 434: LD_STRING 
 436: ST_TO_ADDR
// hc_name =  ;
 437: LD_ADDR_OWVAR 26
 441: PUSH
 442: LD_STRING 
 444: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 445: LD_ADDR_OWVAR 29
 449: PUSH
 450: LD_INT 9
 452: PPUSH
 453: LD_INT 11
 455: PPUSH
 456: CALL_OW 12
 460: PUSH
 461: LD_INT 10
 463: PPUSH
 464: LD_INT 12
 466: PPUSH
 467: CALL_OW 12
 471: PUSH
 472: EMPTY
 473: LIST
 474: LIST
 475: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
 476: LD_ADDR_OWVAR 31
 480: PUSH
 481: LD_INT 3
 483: PPUSH
 484: LD_INT 5
 486: PPUSH
 487: CALL_OW 12
 491: PUSH
 492: LD_INT 0
 494: PPUSH
 495: LD_INT 4
 497: PPUSH
 498: CALL_OW 12
 502: PUSH
 503: LD_INT 0
 505: PPUSH
 506: LD_INT 4
 508: PPUSH
 509: CALL_OW 12
 513: PUSH
 514: LD_INT 0
 516: PPUSH
 517: LD_INT 4
 519: PPUSH
 520: CALL_OW 12
 524: PUSH
 525: EMPTY
 526: LIST
 527: LIST
 528: LIST
 529: LIST
 530: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 531: LD_ADDR_OWVAR 27
 535: PUSH
 536: LD_INT 1
 538: PPUSH
 539: LD_INT 2
 541: PPUSH
 542: CALL_OW 12
 546: ST_TO_ADDR
// hc_class = 1 ;
 547: LD_ADDR_OWVAR 28
 551: PUSH
 552: LD_INT 1
 554: ST_TO_ADDR
// un := CreateHuman ;
 555: LD_ADDR_VAR 0 3
 559: PUSH
 560: CALL_OW 44
 564: ST_TO_ADDR
// PlaceHumanInUnit ( un , i ) ;
 565: LD_VAR 0 3
 569: PPUSH
 570: LD_VAR 0 2
 574: PPUSH
 575: CALL_OW 52
// end ; end ;
 579: GO 395
 581: POP
 582: POP
// for i in rubar do
 583: LD_ADDR_VAR 0 2
 587: PUSH
 588: LD_INT 167
 590: PUSH
 591: FOR_IN
 592: IFFALSE 764
// begin for i = 1 to 2 do
 594: LD_ADDR_VAR 0 2
 598: PUSH
 599: DOUBLE
 600: LD_INT 1
 602: DEC
 603: ST_TO_ADDR
 604: LD_INT 2
 606: PUSH
 607: FOR_TO
 608: IFFALSE 760
// begin hc_gallery =  ;
 610: LD_ADDR_OWVAR 33
 614: PUSH
 615: LD_STRING 
 617: ST_TO_ADDR
// hc_name =  ;
 618: LD_ADDR_OWVAR 26
 622: PUSH
 623: LD_STRING 
 625: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 626: LD_ADDR_OWVAR 29
 630: PUSH
 631: LD_INT 9
 633: PPUSH
 634: LD_INT 11
 636: PPUSH
 637: CALL_OW 12
 641: PUSH
 642: LD_INT 10
 644: PPUSH
 645: LD_INT 12
 647: PPUSH
 648: CALL_OW 12
 652: PUSH
 653: EMPTY
 654: LIST
 655: LIST
 656: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
 657: LD_ADDR_OWVAR 31
 661: PUSH
 662: LD_INT 3
 664: PPUSH
 665: LD_INT 5
 667: PPUSH
 668: CALL_OW 12
 672: PUSH
 673: LD_INT 0
 675: PPUSH
 676: LD_INT 4
 678: PPUSH
 679: CALL_OW 12
 683: PUSH
 684: LD_INT 0
 686: PPUSH
 687: LD_INT 4
 689: PPUSH
 690: CALL_OW 12
 694: PUSH
 695: LD_INT 0
 697: PPUSH
 698: LD_INT 4
 700: PPUSH
 701: CALL_OW 12
 705: PUSH
 706: EMPTY
 707: LIST
 708: LIST
 709: LIST
 710: LIST
 711: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 712: LD_ADDR_OWVAR 27
 716: PUSH
 717: LD_INT 1
 719: PPUSH
 720: LD_INT 2
 722: PPUSH
 723: CALL_OW 12
 727: ST_TO_ADDR
// hc_class = 1 ;
 728: LD_ADDR_OWVAR 28
 732: PUSH
 733: LD_INT 1
 735: ST_TO_ADDR
// un = CreateHuman ;
 736: LD_ADDR_VAR 0 3
 740: PUSH
 741: CALL_OW 44
 745: ST_TO_ADDR
// PlaceHumanInUnit ( un , rubar ) ;
 746: LD_VAR 0 3
 750: PPUSH
 751: LD_INT 167
 753: PPUSH
 754: CALL_OW 52
// end ;
 758: GO 607
 760: POP
 761: POP
// end ;
 762: GO 591
 764: POP
 765: POP
// for i in rufab do
 766: LD_ADDR_VAR 0 2
 770: PUSH
 771: LD_INT 204
 773: PUSH
 774: FOR_IN
 775: IFFALSE 947
// begin for i = 1 to 6 do
 777: LD_ADDR_VAR 0 2
 781: PUSH
 782: DOUBLE
 783: LD_INT 1
 785: DEC
 786: ST_TO_ADDR
 787: LD_INT 6
 789: PUSH
 790: FOR_TO
 791: IFFALSE 943
// begin hc_gallery =  ;
 793: LD_ADDR_OWVAR 33
 797: PUSH
 798: LD_STRING 
 800: ST_TO_ADDR
// hc_name =  ;
 801: LD_ADDR_OWVAR 26
 805: PUSH
 806: LD_STRING 
 808: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 809: LD_ADDR_OWVAR 29
 813: PUSH
 814: LD_INT 9
 816: PPUSH
 817: LD_INT 11
 819: PPUSH
 820: CALL_OW 12
 824: PUSH
 825: LD_INT 10
 827: PPUSH
 828: LD_INT 12
 830: PPUSH
 831: CALL_OW 12
 835: PUSH
 836: EMPTY
 837: LIST
 838: LIST
 839: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) ] ;
 840: LD_ADDR_OWVAR 31
 844: PUSH
 845: LD_INT 0
 847: PPUSH
 848: LD_INT 4
 850: PPUSH
 851: CALL_OW 12
 855: PUSH
 856: LD_INT 0
 858: PPUSH
 859: LD_INT 4
 861: PPUSH
 862: CALL_OW 12
 866: PUSH
 867: LD_INT 3
 869: PPUSH
 870: LD_INT 5
 872: PPUSH
 873: CALL_OW 12
 877: PUSH
 878: LD_INT 0
 880: PPUSH
 881: LD_INT 4
 883: PPUSH
 884: CALL_OW 12
 888: PUSH
 889: EMPTY
 890: LIST
 891: LIST
 892: LIST
 893: LIST
 894: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
 895: LD_ADDR_OWVAR 27
 899: PUSH
 900: LD_INT 1
 902: PPUSH
 903: LD_INT 2
 905: PPUSH
 906: CALL_OW 12
 910: ST_TO_ADDR
// hc_class = 3 ;
 911: LD_ADDR_OWVAR 28
 915: PUSH
 916: LD_INT 3
 918: ST_TO_ADDR
// un = CreateHuman ;
 919: LD_ADDR_VAR 0 3
 923: PUSH
 924: CALL_OW 44
 928: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab ) ;
 929: LD_VAR 0 3
 933: PPUSH
 934: LD_INT 204
 936: PPUSH
 937: CALL_OW 52
// end ;
 941: GO 790
 943: POP
 944: POP
// end ;
 945: GO 774
 947: POP
 948: POP
// for i in rulab do
 949: LD_ADDR_VAR 0 2
 953: PUSH
 954: LD_INT 217
 956: PUSH
 957: FOR_IN
 958: IFFALSE 1130
// begin for i = 1 to 2 do
 960: LD_ADDR_VAR 0 2
 964: PUSH
 965: DOUBLE
 966: LD_INT 1
 968: DEC
 969: ST_TO_ADDR
 970: LD_INT 2
 972: PUSH
 973: FOR_TO
 974: IFFALSE 1126
// begin hc_gallery =  ;
 976: LD_ADDR_OWVAR 33
 980: PUSH
 981: LD_STRING 
 983: ST_TO_ADDR
// hc_name =  ;
 984: LD_ADDR_OWVAR 26
 988: PUSH
 989: LD_STRING 
 991: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
 992: LD_ADDR_OWVAR 29
 996: PUSH
 997: LD_INT 9
 999: PPUSH
1000: LD_INT 11
1002: PPUSH
1003: CALL_OW 12
1007: PUSH
1008: LD_INT 10
1010: PPUSH
1011: LD_INT 12
1013: PPUSH
1014: CALL_OW 12
1018: PUSH
1019: EMPTY
1020: LIST
1021: LIST
1022: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) ] ;
1023: LD_ADDR_OWVAR 31
1027: PUSH
1028: LD_INT 0
1030: PPUSH
1031: LD_INT 4
1033: PPUSH
1034: CALL_OW 12
1038: PUSH
1039: LD_INT 0
1041: PPUSH
1042: LD_INT 4
1044: PPUSH
1045: CALL_OW 12
1049: PUSH
1050: LD_INT 0
1052: PPUSH
1053: LD_INT 4
1055: PPUSH
1056: CALL_OW 12
1060: PUSH
1061: LD_INT 3
1063: PPUSH
1064: LD_INT 5
1066: PPUSH
1067: CALL_OW 12
1071: PUSH
1072: EMPTY
1073: LIST
1074: LIST
1075: LIST
1076: LIST
1077: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1078: LD_ADDR_OWVAR 27
1082: PUSH
1083: LD_INT 1
1085: PPUSH
1086: LD_INT 2
1088: PPUSH
1089: CALL_OW 12
1093: ST_TO_ADDR
// hc_class = 4 ;
1094: LD_ADDR_OWVAR 28
1098: PUSH
1099: LD_INT 4
1101: ST_TO_ADDR
// un = CreateHuman ;
1102: LD_ADDR_VAR 0 3
1106: PUSH
1107: CALL_OW 44
1111: ST_TO_ADDR
// PlaceHumanInUnit ( un , rulab ) ;
1112: LD_VAR 0 3
1116: PPUSH
1117: LD_INT 217
1119: PPUSH
1120: CALL_OW 52
// end ;
1124: GO 973
1126: POP
1127: POP
// end ;
1128: GO 957
1130: POP
1131: POP
// for i in rudepo do
1132: LD_ADDR_VAR 0 2
1136: PUSH
1137: LD_INT 125
1139: PUSH
1140: FOR_IN
1141: IFFALSE 1313
// begin for i = 1 to 2 do
1143: LD_ADDR_VAR 0 2
1147: PUSH
1148: DOUBLE
1149: LD_INT 1
1151: DEC
1152: ST_TO_ADDR
1153: LD_INT 2
1155: PUSH
1156: FOR_TO
1157: IFFALSE 1309
// begin hc_gallery =  ;
1159: LD_ADDR_OWVAR 33
1163: PUSH
1164: LD_STRING 
1166: ST_TO_ADDR
// hc_name =  ;
1167: LD_ADDR_OWVAR 26
1171: PUSH
1172: LD_STRING 
1174: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1175: LD_ADDR_OWVAR 29
1179: PUSH
1180: LD_INT 9
1182: PPUSH
1183: LD_INT 11
1185: PPUSH
1186: CALL_OW 12
1190: PUSH
1191: LD_INT 10
1193: PPUSH
1194: LD_INT 12
1196: PPUSH
1197: CALL_OW 12
1201: PUSH
1202: EMPTY
1203: LIST
1204: LIST
1205: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
1206: LD_ADDR_OWVAR 31
1210: PUSH
1211: LD_INT 0
1213: PPUSH
1214: LD_INT 4
1216: PPUSH
1217: CALL_OW 12
1221: PUSH
1222: LD_INT 3
1224: PPUSH
1225: LD_INT 5
1227: PPUSH
1228: CALL_OW 12
1232: PUSH
1233: LD_INT 0
1235: PPUSH
1236: LD_INT 4
1238: PPUSH
1239: CALL_OW 12
1243: PUSH
1244: LD_INT 0
1246: PPUSH
1247: LD_INT 4
1249: PPUSH
1250: CALL_OW 12
1254: PUSH
1255: EMPTY
1256: LIST
1257: LIST
1258: LIST
1259: LIST
1260: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1261: LD_ADDR_OWVAR 27
1265: PUSH
1266: LD_INT 1
1268: PPUSH
1269: LD_INT 2
1271: PPUSH
1272: CALL_OW 12
1276: ST_TO_ADDR
// hc_class = 2 ;
1277: LD_ADDR_OWVAR 28
1281: PUSH
1282: LD_INT 2
1284: ST_TO_ADDR
// un = CreateHuman ;
1285: LD_ADDR_VAR 0 3
1289: PUSH
1290: CALL_OW 44
1294: ST_TO_ADDR
// PlaceHumanInUnit ( un , rudepo ) ;
1295: LD_VAR 0 3
1299: PPUSH
1300: LD_INT 125
1302: PPUSH
1303: CALL_OW 52
// end ;
1307: GO 1156
1309: POP
1310: POP
// end ;
1311: GO 1140
1313: POP
1314: POP
// hc_gallery =  ;
1315: LD_ADDR_OWVAR 33
1319: PUSH
1320: LD_STRING 
1322: ST_TO_ADDR
// hc_name =  ;
1323: LD_ADDR_OWVAR 26
1327: PUSH
1328: LD_STRING 
1330: ST_TO_ADDR
// hc_attr = [ Rand ( 9 , 11 ) , Rand ( 10 , 12 ) ] ;
1331: LD_ADDR_OWVAR 29
1335: PUSH
1336: LD_INT 9
1338: PPUSH
1339: LD_INT 11
1341: PPUSH
1342: CALL_OW 12
1346: PUSH
1347: LD_INT 10
1349: PPUSH
1350: LD_INT 12
1352: PPUSH
1353: CALL_OW 12
1357: PUSH
1358: EMPTY
1359: LIST
1360: LIST
1361: ST_TO_ADDR
// hc_skills = [ Rand ( 3 , 5 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
1362: LD_ADDR_OWVAR 31
1366: PUSH
1367: LD_INT 3
1369: PPUSH
1370: LD_INT 5
1372: PPUSH
1373: CALL_OW 12
1377: PUSH
1378: LD_INT 0
1380: PPUSH
1381: LD_INT 4
1383: PPUSH
1384: CALL_OW 12
1388: PUSH
1389: LD_INT 0
1391: PPUSH
1392: LD_INT 4
1394: PPUSH
1395: CALL_OW 12
1399: PUSH
1400: LD_INT 0
1402: PPUSH
1403: LD_INT 4
1405: PPUSH
1406: CALL_OW 12
1410: PUSH
1411: EMPTY
1412: LIST
1413: LIST
1414: LIST
1415: LIST
1416: ST_TO_ADDR
// hc_sex = Rand ( sex_male , sex_female ) ;
1417: LD_ADDR_OWVAR 27
1421: PUSH
1422: LD_INT 1
1424: PPUSH
1425: LD_INT 2
1427: PPUSH
1428: CALL_OW 12
1432: ST_TO_ADDR
// hc_class = 1 ;
1433: LD_ADDR_OWVAR 28
1437: PUSH
1438: LD_INT 1
1440: ST_TO_ADDR
// Ru1So = CreateHuman ;
1441: LD_ADDR_VAR 0 5
1445: PUSH
1446: CALL_OW 44
1450: ST_TO_ADDR
// Ru2So = CreateHuman ;
1451: LD_ADDR_EXP 11
1455: PUSH
1456: CALL_OW 44
1460: ST_TO_ADDR
// Ru3So = CreateHuman ;
1461: LD_ADDR_EXP 12
1465: PUSH
1466: CALL_OW 44
1470: ST_TO_ADDR
// PlaceUnitArea ( Ru1So , RuS , false ) ;
1471: LD_VAR 0 5
1475: PPUSH
1476: LD_INT 8
1478: PPUSH
1479: LD_INT 0
1481: PPUSH
1482: CALL_OW 49
// PlaceUnitArea ( Ru2So , RuS , false ) ;
1486: LD_EXP 11
1490: PPUSH
1491: LD_INT 8
1493: PPUSH
1494: LD_INT 0
1496: PPUSH
1497: CALL_OW 49
// PlaceUnitArea ( Ru3So , RuS , false ) ;
1501: LD_EXP 12
1505: PPUSH
1506: LD_INT 8
1508: PPUSH
1509: LD_INT 0
1511: PPUSH
1512: CALL_OW 49
// ComEnterUnit ( Ru1So , Ru1B ) ;
1516: LD_VAR 0 5
1520: PPUSH
1521: LD_INT 201
1523: PPUSH
1524: CALL_OW 120
// ComEnterUnit ( Ru2So , Ru2B ) ;
1528: LD_EXP 11
1532: PPUSH
1533: LD_INT 200
1535: PPUSH
1536: CALL_OW 120
// ComEnterUnit ( Ru3So , Ru3B ) ;
1540: LD_EXP 12
1544: PPUSH
1545: LD_INT 202
1547: PPUSH
1548: CALL_OW 120
// end ;
1552: LD_VAR 0 1
1556: RET
// every 20 20$0 trigger Przygotowanie = 1 do var veh , un , l , i , ArAtTeam , ArWeapon , Level , fabric , arx , ary , ru_units , ru_build , ru , dri , YouCanAttack , units , target1 , target2 , target3 , enemy , arlmt , piechota , mortal ;
1557: LD_EXP 14
1561: PUSH
1562: LD_INT 1
1564: EQUAL
1565: IFFALSE 2224
1567: GO 1569
1569: DISABLE
1570: LD_INT 0
1572: PPUSH
1573: PPUSH
1574: PPUSH
1575: PPUSH
1576: PPUSH
1577: PPUSH
1578: PPUSH
1579: PPUSH
1580: PPUSH
1581: PPUSH
1582: PPUSH
1583: PPUSH
1584: PPUSH
1585: PPUSH
1586: PPUSH
1587: PPUSH
1588: PPUSH
1589: PPUSH
1590: PPUSH
1591: PPUSH
1592: PPUSH
1593: PPUSH
1594: PPUSH
// begin ArAtTeam = [ ] ;
1595: LD_ADDR_VAR 0 5
1599: PUSH
1600: EMPTY
1601: ST_TO_ADDR
// ArWeapon = [ 42 , 43 , 44 ] ;
1602: LD_ADDR_VAR 0 6
1606: PUSH
1607: LD_INT 42
1609: PUSH
1610: LD_INT 43
1612: PUSH
1613: LD_INT 44
1615: PUSH
1616: EMPTY
1617: LIST
1618: LIST
1619: LIST
1620: ST_TO_ADDR
// Level = [ 4 , 5 , 6 ] [ Difficulty ] ;
1621: LD_ADDR_VAR 0 7
1625: PUSH
1626: LD_INT 4
1628: PUSH
1629: LD_INT 5
1631: PUSH
1632: LD_INT 6
1634: PUSH
1635: EMPTY
1636: LIST
1637: LIST
1638: LIST
1639: PUSH
1640: LD_OWVAR 67
1644: ARRAY
1645: ST_TO_ADDR
// l = 0 ;
1646: LD_ADDR_VAR 0 3
1650: PUSH
1651: LD_INT 0
1653: ST_TO_ADDR
// uc_side = 3 ;
1654: LD_ADDR_OWVAR 20
1658: PUSH
1659: LD_INT 3
1661: ST_TO_ADDR
// uc_nation = 3 ;
1662: LD_ADDR_OWVAR 21
1666: PUSH
1667: LD_INT 3
1669: ST_TO_ADDR
// repeat begin vc_chassis = 22 ;
1670: LD_ADDR_OWVAR 37
1674: PUSH
1675: LD_INT 22
1677: ST_TO_ADDR
// vc_engine = engine_combustion ;
1678: LD_ADDR_OWVAR 39
1682: PUSH
1683: LD_INT 1
1685: ST_TO_ADDR
// vc_control = control_manual ;
1686: LD_ADDR_OWVAR 38
1690: PUSH
1691: LD_INT 1
1693: ST_TO_ADDR
// vc_weapon = ArWeapon [ Rand ( 1 , 3 ) ] ;
1694: LD_ADDR_OWVAR 40
1698: PUSH
1699: LD_VAR 0 6
1703: PUSH
1704: LD_INT 1
1706: PPUSH
1707: LD_INT 3
1709: PPUSH
1710: CALL_OW 12
1714: ARRAY
1715: ST_TO_ADDR
// veh = CreateVehicle ;
1716: LD_ADDR_VAR 0 1
1720: PUSH
1721: CALL_OW 45
1725: ST_TO_ADDR
// PlaceUnitArea ( veh , RussianSpawn , false ) ;
1726: LD_VAR 0 1
1730: PPUSH
1731: LD_INT 16
1733: PPUSH
1734: LD_INT 0
1736: PPUSH
1737: CALL_OW 49
// ArAtTeam = ArAtTeam ^ veh ;
1741: LD_ADDR_VAR 0 5
1745: PUSH
1746: LD_VAR 0 5
1750: PUSH
1751: LD_VAR 0 1
1755: ADD
1756: ST_TO_ADDR
// hc_class = 3 ;
1757: LD_ADDR_OWVAR 28
1761: PUSH
1762: LD_INT 3
1764: ST_TO_ADDR
// hc_name =  ;
1765: LD_ADDR_OWVAR 26
1769: PUSH
1770: LD_STRING 
1772: ST_TO_ADDR
// hc_gallery =  ;
1773: LD_ADDR_OWVAR 33
1777: PUSH
1778: LD_STRING 
1780: ST_TO_ADDR
// hc_sex = sex_male ;
1781: LD_ADDR_OWVAR 27
1785: PUSH
1786: LD_INT 1
1788: ST_TO_ADDR
// hc_skills = [ Rand ( 1 , 3 ) + Level , Rand ( 0 , 1 ) + Level , Rand ( 0 , 1 ) + Level , Rand ( 0 , 2 ) + Level ] ;
1789: LD_ADDR_OWVAR 31
1793: PUSH
1794: LD_INT 1
1796: PPUSH
1797: LD_INT 3
1799: PPUSH
1800: CALL_OW 12
1804: PUSH
1805: LD_VAR 0 7
1809: PLUS
1810: PUSH
1811: LD_INT 0
1813: PPUSH
1814: LD_INT 1
1816: PPUSH
1817: CALL_OW 12
1821: PUSH
1822: LD_VAR 0 7
1826: PLUS
1827: PUSH
1828: LD_INT 0
1830: PPUSH
1831: LD_INT 1
1833: PPUSH
1834: CALL_OW 12
1838: PUSH
1839: LD_VAR 0 7
1843: PLUS
1844: PUSH
1845: LD_INT 0
1847: PPUSH
1848: LD_INT 2
1850: PPUSH
1851: CALL_OW 12
1855: PUSH
1856: LD_VAR 0 7
1860: PLUS
1861: PUSH
1862: EMPTY
1863: LIST
1864: LIST
1865: LIST
1866: LIST
1867: ST_TO_ADDR
// PlaceHumanInUnit ( CreateHuman , veh ) ;
1868: CALL_OW 44
1872: PPUSH
1873: LD_VAR 0 1
1877: PPUSH
1878: CALL_OW 52
// l = l + 1 ;
1882: LD_ADDR_VAR 0 3
1886: PUSH
1887: LD_VAR 0 3
1891: PUSH
1892: LD_INT 1
1894: PLUS
1895: ST_TO_ADDR
// end until l = [ 8 , 11 , 13 ] [ Difficulty ] ;
1896: LD_VAR 0 3
1900: PUSH
1901: LD_INT 8
1903: PUSH
1904: LD_INT 11
1906: PUSH
1907: LD_INT 13
1909: PUSH
1910: EMPTY
1911: LIST
1912: LIST
1913: LIST
1914: PUSH
1915: LD_OWVAR 67
1919: ARRAY
1920: EQUAL
1921: IFFALSE 1670
// Wait ( 0 0$0.3 ) ;
1923: LD_INT 10
1925: PPUSH
1926: CALL_OW 67
// arx = [ 51 ] ;
1930: LD_ADDR_VAR 0 9
1934: PUSH
1935: LD_INT 51
1937: PUSH
1938: EMPTY
1939: LIST
1940: ST_TO_ADDR
// ary = [ 84 ] ;
1941: LD_ADDR_VAR 0 10
1945: PUSH
1946: LD_INT 84
1948: PUSH
1949: EMPTY
1950: LIST
1951: ST_TO_ADDR
// if arlmt > 3 then
1952: LD_VAR 0 21
1956: PUSH
1957: LD_INT 3
1959: GREATER
1960: IFFALSE 1970
// begin arlmt = 1 ;
1962: LD_ADDR_VAR 0 21
1966: PUSH
1967: LD_INT 1
1969: ST_TO_ADDR
// end ; ComMoveXY ( ArAtTeam , arx [ arlmt ] , ary [ arlmt ] ) ;
1970: LD_VAR 0 5
1974: PPUSH
1975: LD_VAR 0 9
1979: PUSH
1980: LD_VAR 0 21
1984: ARRAY
1985: PPUSH
1986: LD_VAR 0 10
1990: PUSH
1991: LD_VAR 0 21
1995: ARRAY
1996: PPUSH
1997: CALL_OW 111
// arlmt = arlmt + 1 ;
2001: LD_ADDR_VAR 0 21
2005: PUSH
2006: LD_VAR 0 21
2010: PUSH
2011: LD_INT 1
2013: PLUS
2014: ST_TO_ADDR
// Wait ( 0 0$01 ) ;
2015: LD_INT 35
2017: PPUSH
2018: CALL_OW 67
// repeat begin Wait ( 0 0$03 ) ;
2022: LD_INT 105
2024: PPUSH
2025: CALL_OW 67
// enemy := FilterAllUnits ( [ f_side , 8 ] ) ;
2029: LD_ADDR_VAR 0 20
2033: PUSH
2034: LD_INT 22
2036: PUSH
2037: LD_INT 8
2039: PUSH
2040: EMPTY
2041: LIST
2042: LIST
2043: PPUSH
2044: CALL_OW 69
2048: ST_TO_ADDR
// units := ArAtTeam ;
2049: LD_ADDR_VAR 0 16
2053: PUSH
2054: LD_VAR 0 5
2058: ST_TO_ADDR
// for un in units do
2059: LD_ADDR_VAR 0 2
2063: PUSH
2064: LD_VAR 0 16
2068: PUSH
2069: FOR_IN
2070: IFFALSE 2213
// begin target1 := NearestUnitToUnit ( FilterAllUnits ( [ f_side , 8 ] ) , un ) ;
2072: LD_ADDR_VAR 0 17
2076: PUSH
2077: LD_INT 22
2079: PUSH
2080: LD_INT 8
2082: PUSH
2083: EMPTY
2084: LIST
2085: LIST
2086: PPUSH
2087: CALL_OW 69
2091: PPUSH
2092: LD_VAR 0 2
2096: PPUSH
2097: CALL_OW 74
2101: ST_TO_ADDR
// target2 := NearestUnitToUnit ( FilterAllUnits ( [ [ [ f_side , 8 ] , [ f_occupied ] ] ] ) , un ) ;
2102: LD_ADDR_VAR 0 18
2106: PUSH
2107: LD_INT 22
2109: PUSH
2110: LD_INT 8
2112: PUSH
2113: EMPTY
2114: LIST
2115: LIST
2116: PUSH
2117: LD_INT 59
2119: PUSH
2120: EMPTY
2121: LIST
2122: PUSH
2123: EMPTY
2124: LIST
2125: LIST
2126: PUSH
2127: EMPTY
2128: LIST
2129: PPUSH
2130: CALL_OW 69
2134: PPUSH
2135: LD_VAR 0 2
2139: PPUSH
2140: CALL_OW 74
2144: ST_TO_ADDR
// if GetDistUnits ( un , target1 ) + 3 < GetDistUnits ( un , target2 ) then
2145: LD_VAR 0 2
2149: PPUSH
2150: LD_VAR 0 17
2154: PPUSH
2155: CALL_OW 296
2159: PUSH
2160: LD_INT 3
2162: PLUS
2163: PUSH
2164: LD_VAR 0 2
2168: PPUSH
2169: LD_VAR 0 18
2173: PPUSH
2174: CALL_OW 296
2178: LESS
2179: IFFALSE 2197
// begin ComAttackUnit ( un , target1 ) ;
2181: LD_VAR 0 2
2185: PPUSH
2186: LD_VAR 0 17
2190: PPUSH
2191: CALL_OW 115
// end else
2195: GO 2211
// begin ComAttackUnit ( un , target2 ) ;
2197: LD_VAR 0 2
2201: PPUSH
2202: LD_VAR 0 18
2206: PPUSH
2207: CALL_OW 115
// end ; end ;
2211: GO 2069
2213: POP
2214: POP
// end until ArAtTeam = [ ] ;
2215: LD_VAR 0 5
2219: PUSH
2220: EMPTY
2221: EQUAL
2222: IFFALSE 2022
// end ; end_of_file
2224: PPOPN 23
2226: END
// export Zakladnik , Przygotowanie , Fala , Zabiles ; starting begin disable ( 90 ) ;
2227: LD_INT 90
2229: DISABLE_MARKED
// Zakladnik = 0 ;
2230: LD_ADDR_EXP 13
2234: PUSH
2235: LD_INT 0
2237: ST_TO_ADDR
// Przygotowanie = 0 ;
2238: LD_ADDR_EXP 14
2242: PUSH
2243: LD_INT 0
2245: ST_TO_ADDR
// Fala = 0 ;
2246: LD_ADDR_EXP 15
2250: PUSH
2251: LD_INT 0
2253: ST_TO_ADDR
// Cont_ready = 0 ;
2254: LD_ADDR_EXP 24
2258: PUSH
2259: LD_INT 0
2261: ST_TO_ADDR
// Apeman = 1 ;
2262: LD_ADDR_EXP 32
2266: PUSH
2267: LD_INT 1
2269: ST_TO_ADDR
// ApeQuest = 0 ;
2270: LD_ADDR_EXP 30
2274: PUSH
2275: LD_INT 0
2277: ST_TO_ADDR
// Zabiles = 0 ;
2278: LD_ADDR_EXP 16
2282: PUSH
2283: LD_INT 0
2285: ST_TO_ADDR
// Bron = 0 ;
2286: LD_ADDR_EXP 31
2290: PUSH
2291: LD_INT 0
2293: ST_TO_ADDR
// Oswojenie = false ;
2294: LD_ADDR_EXP 33
2298: PUSH
2299: LD_INT 0
2301: ST_TO_ADDR
// ComHold ( emi ) ;
2302: LD_INT 307
2304: PPUSH
2305: CALL_OW 140
// Resetfog ;
2309: CALL_OW 335
// RandomizeAll ;
2313: CALL_OW 11
// InGameOn ;
2317: CALL_OW 8
// PrepareEastLegion ;
2321: CALL 0 0 0
// PrepareRussian ;
2325: CALL 328 0 0
// PrepareNature ;
2329: CALL 6584 0 0
// CenterNowOnUnits ( Buldozer ) ;
2333: LD_INT 247
2335: PPUSH
2336: CALL_OW 87
// Say ( Lesiu , le1 ) ;
2340: LD_EXP 1
2344: PPUSH
2345: LD_STRING le1
2347: PPUSH
2348: CALL_OW 88
// AddComMoveXY ( Buldozer , 116 , 148 ) ;
2352: LD_INT 247
2354: PPUSH
2355: LD_INT 116
2357: PPUSH
2358: LD_INT 148
2360: PPUSH
2361: CALL_OW 171
// AddComMoveXY ( Buldozer , 111 , 142 ) ;
2365: LD_INT 247
2367: PPUSH
2368: LD_INT 111
2370: PPUSH
2371: LD_INT 142
2373: PPUSH
2374: CALL_OW 171
// AddComMoveXY ( Buldozer , 105 , 136 ) ;
2378: LD_INT 247
2380: PPUSH
2381: LD_INT 105
2383: PPUSH
2384: LD_INT 136
2386: PPUSH
2387: CALL_OW 171
// AddComMoveXY ( Buldozer , 92 , 126 ) ;
2391: LD_INT 247
2393: PPUSH
2394: LD_INT 92
2396: PPUSH
2397: LD_INT 126
2399: PPUSH
2400: CALL_OW 171
// Say ( Fajfer , os1 ) ;
2404: LD_EXP 3
2408: PPUSH
2409: LD_STRING os1
2411: PPUSH
2412: CALL_OW 88
// Say ( Lesiu , le2 ) ;
2416: LD_EXP 1
2420: PPUSH
2421: LD_STRING le2
2423: PPUSH
2424: CALL_OW 88
// Say ( Fajfer , os2 ) ;
2428: LD_EXP 3
2432: PPUSH
2433: LD_STRING os2
2435: PPUSH
2436: CALL_OW 88
// Say ( Lesiu , le3 ) ;
2440: LD_EXP 1
2444: PPUSH
2445: LD_STRING le3
2447: PPUSH
2448: CALL_OW 88
// end ;
2452: END
// every 0 0$1 trigger IsInArea ( buldozer , wyjscie ) or IsInArea ( Lesiu , wyjscie ) do
2453: LD_INT 247
2455: PPUSH
2456: LD_INT 9
2458: PPUSH
2459: CALL_OW 308
2463: PUSH
2464: LD_EXP 1
2468: PPUSH
2469: LD_INT 9
2471: PPUSH
2472: CALL_OW 308
2476: OR
2477: IFFALSE 2586
2479: GO 2481
2481: DISABLE
// begin CenterNowonUnits ( Buldozer ) ;
2482: LD_INT 247
2484: PPUSH
2485: CALL_OW 87
// ComMoveXY ( [ p1 , p2 , p3 , p4 , p5 ] , 91 , 127 ) ;
2489: LD_INT 276
2491: PUSH
2492: LD_INT 285
2494: PUSH
2495: LD_INT 272
2497: PUSH
2498: LD_INT 287
2500: PUSH
2501: LD_INT 290
2503: PUSH
2504: EMPTY
2505: LIST
2506: LIST
2507: LIST
2508: LIST
2509: LIST
2510: PPUSH
2511: LD_INT 91
2513: PPUSH
2514: LD_INT 127
2516: PPUSH
2517: CALL_OW 111
// Say ( Fajfer , os3 ) ;
2521: LD_EXP 3
2525: PPUSH
2526: LD_STRING os3
2528: PPUSH
2529: CALL_OW 88
// Say ( Blood , os4 ) ;
2533: LD_EXP 4
2537: PPUSH
2538: LD_STRING os4
2540: PPUSH
2541: CALL_OW 88
// InGameOff ;
2545: CALL_OW 9
// SaveForQuickRestart ;
2549: CALL_OW 22
// ChangeMissionObjectives ( addon1 ) ;
2553: LD_STRING addon1
2555: PPUSH
2556: CALL_OW 337
// AddComMoveXY ( emi , 83 , 56 ) ;
2560: LD_INT 307
2562: PPUSH
2563: LD_INT 83
2565: PPUSH
2566: LD_INT 56
2568: PPUSH
2569: CALL_OW 171
// AddComMoveXY ( emi , 54 , 15 ) ;
2573: LD_INT 307
2575: PPUSH
2576: LD_INT 54
2578: PPUSH
2579: LD_INT 15
2581: PPUSH
2582: CALL_OW 171
// end ;
2586: END
// every 0 0$1 trigger See ( 8 , emi ) do
2587: LD_INT 8
2589: PPUSH
2590: LD_INT 307
2592: PPUSH
2593: CALL_OW 292
2597: IFFALSE 2629
2599: GO 2601
2601: DISABLE
// begin DialogueOn ;
2602: CALL_OW 6
// CenterNowOnUnits ( emi ) ;
2606: LD_INT 307
2608: PPUSH
2609: CALL_OW 87
// Say ( wojtek , os5 ) ;
2613: LD_EXP 5
2617: PPUSH
2618: LD_STRING os5
2620: PPUSH
2621: CALL_OW 88
// DialogueOff ;
2625: CALL_OW 7
// end ;
2629: END
// every 0 0$1 trigger GetLives ( emi ) < 250 do
2630: LD_INT 307
2632: PPUSH
2633: CALL_OW 256
2637: PUSH
2638: LD_INT 250
2640: LESS
2641: IFFALSE 2654
2643: GO 2645
2645: DISABLE
// begin Zakladnik = 1 ;
2646: LD_ADDR_EXP 13
2650: PUSH
2651: LD_INT 1
2653: ST_TO_ADDR
// end ;
2654: END
// every 0 0$1 trigger GetLives ( emi ) > 254 and Zakladnik = 1 do
2655: LD_INT 307
2657: PPUSH
2658: CALL_OW 256
2662: PUSH
2663: LD_INT 254
2665: GREATER
2666: PUSH
2667: LD_EXP 13
2671: PUSH
2672: LD_INT 1
2674: EQUAL
2675: AND
2676: IFFALSE 3027
2678: GO 2680
2680: DISABLE
// begin Zabiles = 1 ;
2681: LD_ADDR_EXP 16
2685: PUSH
2686: LD_INT 1
2688: ST_TO_ADDR
// InGameOn ;
2689: CALL_OW 8
// ComExitVehicle ( Lesiu ) ;
2693: LD_EXP 1
2697: PPUSH
2698: CALL_OW 121
// ComExitVehicle ( Wojtek ) ;
2702: LD_EXP 5
2706: PPUSH
2707: CALL_OW 121
// ComExitVehicle ( Blood ) ;
2711: LD_EXP 4
2715: PPUSH
2716: CALL_OW 121
// ComExitVehicle ( Moralez ) ;
2720: LD_EXP 6
2724: PPUSH
2725: CALL_OW 121
// ComExitVehicle ( Ostra ) ;
2729: LD_EXP 2
2733: PPUSH
2734: CALL_OW 121
// wait ( 0 0$3 ) ;
2738: LD_INT 105
2740: PPUSH
2741: CALL_OW 67
// ComTurnUnit ( [ Lesiu , Wojtek , Blood , Moralez , Ostra , Fajfer ] , Emi ) ;
2745: LD_EXP 1
2749: PUSH
2750: LD_EXP 5
2754: PUSH
2755: LD_EXP 4
2759: PUSH
2760: LD_EXP 6
2764: PUSH
2765: LD_EXP 2
2769: PUSH
2770: LD_EXP 3
2774: PUSH
2775: EMPTY
2776: LIST
2777: LIST
2778: LIST
2779: LIST
2780: LIST
2781: LIST
2782: PPUSH
2783: LD_INT 307
2785: PPUSH
2786: CALL_OW 119
// DialogueOn ;
2790: CALL_OW 6
// CenterNowOnUnits ( emi ) ;
2794: LD_INT 307
2796: PPUSH
2797: CALL_OW 87
// Say ( Lesiu , le4 ) ;
2801: LD_EXP 1
2805: PPUSH
2806: LD_STRING le4
2808: PPUSH
2809: CALL_OW 88
// Say ( emi , em1 ) ;
2813: LD_INT 307
2815: PPUSH
2816: LD_STRING em1
2818: PPUSH
2819: CALL_OW 88
// Say ( wojtek , os6 ) ;
2823: LD_EXP 5
2827: PPUSH
2828: LD_STRING os6
2830: PPUSH
2831: CALL_OW 88
// Say ( emi , em2 ) ;
2835: LD_INT 307
2837: PPUSH
2838: LD_STRING em2
2840: PPUSH
2841: CALL_OW 88
// Say ( ostra , os7 ) ;
2845: LD_EXP 2
2849: PPUSH
2850: LD_STRING os7
2852: PPUSH
2853: CALL_OW 88
// Say ( emi , em3 ) ;
2857: LD_INT 307
2859: PPUSH
2860: LD_STRING em3
2862: PPUSH
2863: CALL_OW 88
// Say ( wojtek , os8 ) ;
2867: LD_EXP 5
2871: PPUSH
2872: LD_STRING os8
2874: PPUSH
2875: CALL_OW 88
// SayRadio ( Eclipse , radio1 ) ;
2879: LD_EXP 8
2883: PPUSH
2884: LD_STRING radio1
2886: PPUSH
2887: CALL_OW 94
// DialogueOff ;
2891: CALL_OW 7
// SetAttitude ( 8 , 3 , att_enemy , true ) ;
2895: LD_INT 8
2897: PPUSH
2898: LD_INT 3
2900: PPUSH
2901: LD_INT 2
2903: PPUSH
2904: LD_INT 1
2906: PPUSH
2907: CALL_OW 80
// SetAttitude ( 3 , 8 , att_enemy , true ) ;
2911: LD_INT 3
2913: PPUSH
2914: LD_INT 8
2916: PPUSH
2917: LD_INT 2
2919: PPUSH
2920: LD_INT 1
2922: PPUSH
2923: CALL_OW 80
// ComAttackUnit ( [ Lesiu , Wojtek , Blood , Moralez , Ostra , Fajfer ] , Emi ) ;
2927: LD_EXP 1
2931: PUSH
2932: LD_EXP 5
2936: PUSH
2937: LD_EXP 4
2941: PUSH
2942: LD_EXP 6
2946: PUSH
2947: LD_EXP 2
2951: PUSH
2952: LD_EXP 3
2956: PUSH
2957: EMPTY
2958: LIST
2959: LIST
2960: LIST
2961: LIST
2962: LIST
2963: LIST
2964: PPUSH
2965: LD_INT 307
2967: PPUSH
2968: CALL_OW 115
// wait ( 0 0$3 ) ;
2972: LD_INT 105
2974: PPUSH
2975: CALL_OW 67
// Say ( Lesiu , le5 ) ;
2979: LD_EXP 1
2983: PPUSH
2984: LD_STRING le5
2986: PPUSH
2987: CALL_OW 88
// Say ( Fajfer , os9 ) ;
2991: LD_EXP 3
2995: PPUSH
2996: LD_STRING os9
2998: PPUSH
2999: CALL_OW 88
// InGameOff ;
3003: CALL_OW 9
// ChangeMissionObjectives ( addon2 ) ;
3007: LD_STRING addon2
3009: PPUSH
3010: CALL_OW 337
// CreateDepositXY ( 112 , 114 , mat_oil ) ;
3014: LD_INT 112
3016: PPUSH
3017: LD_INT 114
3019: PPUSH
3020: LD_INT 2
3022: PPUSH
3023: CALL_OW 62
// end ;
3027: END
// export RuZ1 , RuZ2 , Qaz , Drops ; every 0 0$1 trigger GetResourceVisibility ( 112 , 114 , 8 ) > 0 do
3028: LD_INT 112
3030: PPUSH
3031: LD_INT 114
3033: PPUSH
3034: LD_INT 8
3036: PPUSH
3037: CALL_OW 440
3041: PUSH
3042: LD_INT 0
3044: GREATER
3045: IFFALSE 3510
3047: GO 3049
3049: DISABLE
// begin InGameOn ;
3050: CALL_OW 8
// ComExitVehicle ( Lesiu ) ;
3054: LD_EXP 1
3058: PPUSH
3059: CALL_OW 121
// ComExitVehicle ( Wojtek ) ;
3063: LD_EXP 5
3067: PPUSH
3068: CALL_OW 121
// ComExitVehicle ( Blood ) ;
3072: LD_EXP 4
3076: PPUSH
3077: CALL_OW 121
// ComExitVehicle ( Moralez ) ;
3081: LD_EXP 6
3085: PPUSH
3086: CALL_OW 121
// ComExitVehicle ( Ostra ) ;
3090: LD_EXP 2
3094: PPUSH
3095: CALL_OW 121
// ComExitVehicle ( Fajfer ) ;
3099: LD_EXP 3
3103: PPUSH
3104: CALL_OW 121
// wait ( 0 0$1 ) ;
3108: LD_INT 35
3110: PPUSH
3111: CALL_OW 67
// ComMoveXY ( [ Lesiu , Wojtek , Blood , Moralez , Ostra , Fajfer ] , 113 , 115 ) ;
3115: LD_EXP 1
3119: PUSH
3120: LD_EXP 5
3124: PUSH
3125: LD_EXP 4
3129: PUSH
3130: LD_EXP 6
3134: PUSH
3135: LD_EXP 2
3139: PUSH
3140: LD_EXP 3
3144: PUSH
3145: EMPTY
3146: LIST
3147: LIST
3148: LIST
3149: LIST
3150: LIST
3151: LIST
3152: PPUSH
3153: LD_INT 113
3155: PPUSH
3156: LD_INT 115
3158: PPUSH
3159: CALL_OW 111
// SetRestrict ( b_depot , 8 , true ) ;
3163: LD_INT 0
3165: PPUSH
3166: LD_INT 8
3168: PPUSH
3169: LD_INT 1
3171: PPUSH
3172: CALL_OW 324
// ChangeMissionObjectives ( outznajdz ) ;
3176: LD_STRING outznajdz
3178: PPUSH
3179: CALL_OW 337
// CenterOnXY ( 112 , 114 ) ;
3183: LD_INT 112
3185: PPUSH
3186: LD_INT 114
3188: PPUSH
3189: CALL_OW 84
// wait ( 0 0$10 ) ;
3193: LD_INT 350
3195: PPUSH
3196: CALL_OW 67
// Say ( fajfer , a1 ) ;
3200: LD_EXP 3
3204: PPUSH
3205: LD_STRING a1
3207: PPUSH
3208: CALL_OW 88
// uc_side = 3 ;
3212: LD_ADDR_OWVAR 20
3216: PUSH
3217: LD_INT 3
3219: ST_TO_ADDR
// uc_nation = 3 ;
3220: LD_ADDR_OWVAR 21
3224: PUSH
3225: LD_INT 3
3227: ST_TO_ADDR
// hc_gallery =  ;
3228: LD_ADDR_OWVAR 33
3232: PUSH
3233: LD_STRING 
3235: ST_TO_ADDR
// hc_name =  ;
3236: LD_ADDR_OWVAR 26
3240: PUSH
3241: LD_STRING 
3243: ST_TO_ADDR
// hc_attr = [ Rand ( 5 , 8 ) , Rand ( 10 , 12 ) ] ;
3244: LD_ADDR_OWVAR 29
3248: PUSH
3249: LD_INT 5
3251: PPUSH
3252: LD_INT 8
3254: PPUSH
3255: CALL_OW 12
3259: PUSH
3260: LD_INT 10
3262: PPUSH
3263: LD_INT 12
3265: PPUSH
3266: CALL_OW 12
3270: PUSH
3271: EMPTY
3272: LIST
3273: LIST
3274: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 1 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 0 , 4 ) ] ;
3275: LD_ADDR_OWVAR 31
3279: PUSH
3280: LD_INT 0
3282: PPUSH
3283: LD_INT 1
3285: PPUSH
3286: CALL_OW 12
3290: PUSH
3291: LD_INT 0
3293: PPUSH
3294: LD_INT 4
3296: PPUSH
3297: CALL_OW 12
3301: PUSH
3302: LD_INT 0
3304: PPUSH
3305: LD_INT 4
3307: PPUSH
3308: CALL_OW 12
3312: PUSH
3313: LD_INT 0
3315: PPUSH
3316: LD_INT 4
3318: PPUSH
3319: CALL_OW 12
3323: PUSH
3324: EMPTY
3325: LIST
3326: LIST
3327: LIST
3328: LIST
3329: ST_TO_ADDR
// hc_sex = sex_male ;
3330: LD_ADDR_OWVAR 27
3334: PUSH
3335: LD_INT 1
3337: ST_TO_ADDR
// hc_class = 1 ;
3338: LD_ADDR_OWVAR 28
3342: PUSH
3343: LD_INT 1
3345: ST_TO_ADDR
// RuZ1 = CreateHuman ;
3346: LD_ADDR_EXP 17
3350: PUSH
3351: CALL_OW 44
3355: ST_TO_ADDR
// RuZ2 = CreateHuman ;
3356: LD_ADDR_EXP 18
3360: PUSH
3361: CALL_OW 44
3365: ST_TO_ADDR
// hc_sex = sex_male ;
3366: LD_ADDR_OWVAR 27
3370: PUSH
3371: LD_INT 1
3373: ST_TO_ADDR
// hc_name = Qaz ;
3374: LD_ADDR_OWVAR 26
3378: PUSH
3379: LD_STRING Qaz
3381: ST_TO_ADDR
// Qaz = CreateHuman ;
3382: LD_ADDR_EXP 19
3386: PUSH
3387: CALL_OW 44
3391: ST_TO_ADDR
// hc_name = Dropsik ;
3392: LD_ADDR_OWVAR 26
3396: PUSH
3397: LD_STRING Dropsik
3399: ST_TO_ADDR
// hc_class = 4 ;
3400: LD_ADDR_OWVAR 28
3404: PUSH
3405: LD_INT 4
3407: ST_TO_ADDR
// hc_gallery = Dropsik ;
3408: LD_ADDR_OWVAR 33
3412: PUSH
3413: LD_STRING Dropsik
3415: ST_TO_ADDR
// hc_face_number = 1 ;
3416: LD_ADDR_OWVAR 34
3420: PUSH
3421: LD_INT 1
3423: ST_TO_ADDR
// hc_skills = [ 1 , 3 , 0 , 5 ] ;
3424: LD_ADDR_OWVAR 31
3428: PUSH
3429: LD_INT 1
3431: PUSH
3432: LD_INT 3
3434: PUSH
3435: LD_INT 0
3437: PUSH
3438: LD_INT 5
3440: PUSH
3441: EMPTY
3442: LIST
3443: LIST
3444: LIST
3445: LIST
3446: ST_TO_ADDR
// Drops = CreateHuman ;
3447: LD_ADDR_EXP 20
3451: PUSH
3452: CALL_OW 44
3456: ST_TO_ADDR
// PlaceUnitArea ( RuZ1 , RuResp , false ) ;
3457: LD_EXP 17
3461: PPUSH
3462: LD_INT 12
3464: PPUSH
3465: LD_INT 0
3467: PPUSH
3468: CALL_OW 49
// PlaceUnitArea ( RuZ2 , RuResp , false ) ;
3472: LD_EXP 18
3476: PPUSH
3477: LD_INT 12
3479: PPUSH
3480: LD_INT 0
3482: PPUSH
3483: CALL_OW 49
// ComAttackUnit ( [ RuZ1 , RuZ2 ] , Lesiu ) ;
3487: LD_EXP 17
3491: PUSH
3492: LD_EXP 18
3496: PUSH
3497: EMPTY
3498: LIST
3499: LIST
3500: PPUSH
3501: LD_EXP 1
3505: PPUSH
3506: CALL_OW 115
// end ;
3510: END
// every 0 0$1 trigger See ( 8 , RuZ1 ) or See ( 8 , RuZ2 ) do
3511: LD_INT 8
3513: PPUSH
3514: LD_EXP 17
3518: PPUSH
3519: CALL_OW 292
3523: PUSH
3524: LD_INT 8
3526: PPUSH
3527: LD_EXP 18
3531: PPUSH
3532: CALL_OW 292
3536: OR
3537: IFFALSE 4078
3539: GO 3541
3541: DISABLE
// begin disable ( 2 ) ;
3542: LD_INT 2
3544: DISABLE_MARKED
// disable ( 2 ) ;
3545: LD_INT 2
3547: DISABLE_MARKED
// CenterNowOnUnits ( RuZ1 ) ;
3548: LD_EXP 17
3552: PPUSH
3553: CALL_OW 87
// DialogueOn ;
3557: CALL_OW 6
// SayRadio ( RuZ1 , a2 ) ;
3561: LD_EXP 17
3565: PPUSH
3566: LD_STRING a2
3568: PPUSH
3569: CALL_OW 94
// Say ( Lesiu , a3 ) ;
3573: LD_EXP 1
3577: PPUSH
3578: LD_STRING a3
3580: PPUSH
3581: CALL_OW 88
// DialogueOff ;
3585: CALL_OW 7
// AddComAttackUnit ( [ Lesiu , Blood , Wojtek , Moralez ] , RuZ1 ) ;
3589: LD_EXP 1
3593: PUSH
3594: LD_EXP 4
3598: PUSH
3599: LD_EXP 5
3603: PUSH
3604: LD_EXP 6
3608: PUSH
3609: EMPTY
3610: LIST
3611: LIST
3612: LIST
3613: LIST
3614: PPUSH
3615: LD_EXP 17
3619: PPUSH
3620: CALL_OW 175
// AddComAttackUnit ( [ Lesiu , Blood , Wojtek , Moralez ] , RuZ2 ) ;
3624: LD_EXP 1
3628: PUSH
3629: LD_EXP 4
3633: PUSH
3634: LD_EXP 5
3638: PUSH
3639: LD_EXP 6
3643: PUSH
3644: EMPTY
3645: LIST
3646: LIST
3647: LIST
3648: LIST
3649: PPUSH
3650: LD_EXP 18
3654: PPUSH
3655: CALL_OW 175
// wait ( 0 0$10 ) ;
3659: LD_INT 350
3661: PPUSH
3662: CALL_OW 67
// Say ( Moralez , a4 ) ;
3666: LD_EXP 6
3670: PPUSH
3671: LD_STRING a4
3673: PPUSH
3674: CALL_OW 88
// wait ( 0 0$1 ) ;
3678: LD_INT 35
3680: PPUSH
3681: CALL_OW 67
// SayRadio ( Qaz , a5 ) ;
3685: LD_EXP 19
3689: PPUSH
3690: LD_STRING a5
3692: PPUSH
3693: CALL_OW 94
// SayRadio ( Lesiu , a6 ) ;
3697: LD_EXP 1
3701: PPUSH
3702: LD_STRING a6
3704: PPUSH
3705: CALL_OW 94
// SayRadio ( Qaz , a7 ) ;
3709: LD_EXP 19
3713: PPUSH
3714: LD_STRING a7
3716: PPUSH
3717: CALL_OW 94
// SayRadio ( Lesiu , a8 ) ;
3721: LD_EXP 1
3725: PPUSH
3726: LD_STRING a8
3728: PPUSH
3729: CALL_OW 94
// SayRadio ( Gizold , a9 ) ;
3733: LD_EXP 7
3737: PPUSH
3738: LD_STRING a9
3740: PPUSH
3741: CALL_OW 94
// SayRadio ( Lesiu , a10 ) ;
3745: LD_EXP 1
3749: PPUSH
3750: LD_STRING a10
3752: PPUSH
3753: CALL_OW 94
// SayRadio ( gizold , a11 ) ;
3757: LD_EXP 7
3761: PPUSH
3762: LD_STRING a11
3764: PPUSH
3765: CALL_OW 94
// SayRadio ( lesiu , a12 ) ;
3769: LD_EXP 1
3773: PPUSH
3774: LD_STRING a12
3776: PPUSH
3777: CALL_OW 94
// SayRadio ( gizold , a13 ) ;
3781: LD_EXP 7
3785: PPUSH
3786: LD_STRING a13
3788: PPUSH
3789: CALL_OW 94
// SayRadio ( lesiu , a14 ) ;
3793: LD_EXP 1
3797: PPUSH
3798: LD_STRING a14
3800: PPUSH
3801: CALL_OW 94
// SayRadio ( lesiu , a15 ) ;
3805: LD_EXP 1
3809: PPUSH
3810: LD_STRING a15
3812: PPUSH
3813: CALL_OW 94
// SayRadio ( pamel , a16 ) ;
3817: LD_EXP 9
3821: PPUSH
3822: LD_STRING a16
3824: PPUSH
3825: CALL_OW 94
// SayRadio ( lesiu , a17 ) ;
3829: LD_EXP 1
3833: PPUSH
3834: LD_STRING a17
3836: PPUSH
3837: CALL_OW 94
// SayRadio ( pamel , a18 ) ;
3841: LD_EXP 9
3845: PPUSH
3846: LD_STRING a18
3848: PPUSH
3849: CALL_OW 94
// Say ( fajfer , a19 ) ;
3853: LD_EXP 3
3857: PPUSH
3858: LD_STRING a19
3860: PPUSH
3861: CALL_OW 88
// Say ( lesiu , a20 ) ;
3865: LD_EXP 1
3869: PPUSH
3870: LD_STRING a20
3872: PPUSH
3873: CALL_OW 88
// Say ( Moralez , m1 ) ;
3877: LD_EXP 6
3881: PPUSH
3882: LD_STRING m1
3884: PPUSH
3885: CALL_OW 88
// Say ( Lesiu , m2 ) ;
3889: LD_EXP 1
3893: PPUSH
3894: LD_STRING m2
3896: PPUSH
3897: CALL_OW 88
// ChangeMissionObjectives ( c2 ) ;
3901: LD_STRING c2
3903: PPUSH
3904: CALL_OW 337
// InGameOff ;
3908: CALL_OW 9
// wait ( 8 8$0 ) ;
3912: LD_INT 16800
3914: PPUSH
3915: CALL_OW 67
// ProduceNewVehicle ;
3919: CALL 6218 0 0
// wait ( 10 10$0 ) ;
3923: LD_INT 21000
3925: PPUSH
3926: CALL_OW 67
// SayRadio ( drops , b1 ) ;
3930: LD_EXP 20
3934: PPUSH
3935: LD_STRING b1
3937: PPUSH
3938: CALL_OW 94
// SayRadio ( lesiu , b2 ) ;
3942: LD_EXP 1
3946: PPUSH
3947: LD_STRING b2
3949: PPUSH
3950: CALL_OW 94
// SayRadio ( drops , b3 ) ;
3954: LD_EXP 20
3958: PPUSH
3959: LD_STRING b3
3961: PPUSH
3962: CALL_OW 94
// SayRadio ( lesiu , b4 ) ;
3966: LD_EXP 1
3970: PPUSH
3971: LD_STRING b4
3973: PPUSH
3974: CALL_OW 94
// SayRadio ( drops , b5 ) ;
3978: LD_EXP 20
3982: PPUSH
3983: LD_STRING b5
3985: PPUSH
3986: CALL_OW 94
// SayRadio ( lesiu , b6 ) ;
3990: LD_EXP 1
3994: PPUSH
3995: LD_STRING b6
3997: PPUSH
3998: CALL_OW 94
// Say ( blood , b7 ) ;
4002: LD_EXP 4
4006: PPUSH
4007: LD_STRING b7
4009: PPUSH
4010: CALL_OW 88
// Say ( lesiu , b8 ) ;
4014: LD_EXP 1
4018: PPUSH
4019: LD_STRING b8
4021: PPUSH
4022: CALL_OW 88
// Przygotowanie = 1 ;
4026: LD_ADDR_EXP 14
4030: PUSH
4031: LD_INT 1
4033: ST_TO_ADDR
// wait ( 40 40$0 ) ;
4034: LD_INT 84000
4036: PPUSH
4037: CALL_OW 67
// SayRadio ( Pamel , k1 ) ;
4041: LD_EXP 9
4045: PPUSH
4046: LD_STRING k1
4048: PPUSH
4049: CALL_OW 94
// SayRadio ( Lesiu , k2 ) ;
4053: LD_EXP 1
4057: PPUSH
4058: LD_STRING k2
4060: PPUSH
4061: CALL_OW 94
// ChangeMissionObjectives ( c4 ) ;
4065: LD_STRING c4
4067: PPUSH
4068: CALL_OW 337
// disable ( 2 ) ;
4072: LD_INT 2
4074: DISABLE_MARKED
// disable ( 2 ) ;
4075: LD_INT 2
4077: DISABLE_MARKED
// end ;
4078: END
// every 0 0$1 trigger IsDead ( rudepo ) do
4079: LD_INT 125
4081: PPUSH
4082: CALL_OW 301
4086: IFFALSE 4110
4088: GO 4090
4090: DISABLE
// begin Say ( Lesiu , k2a ) ;
4091: LD_EXP 1
4095: PPUSH
4096: LD_STRING k2a
4098: PPUSH
4099: CALL_OW 88
// ChangeMissionObjectives ( c4o ) ;
4103: LD_STRING c4o
4105: PPUSH
4106: CALL_OW 337
// end ;
4110: END
// every 0 0$1 trigger IsDead ( rudepo ) do
4111: LD_INT 125
4113: PPUSH
4114: CALL_OW 301
4118: IFFALSE 4135
4120: GO 4122
4122: DISABLE
// begin Say ( Lesiu , k3b ) ;
4123: LD_EXP 1
4127: PPUSH
4128: LD_STRING k3b
4130: PPUSH
4131: CALL_OW 88
// end ;
4135: END
// every 0 0$1 trigger IsDead ( rudepo ) and FilterAllUnits ( [ [ f_side , 8 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_chassis , 3 ] , [ f_chassis , 4 ] , [ f_chassis , 14 ] , [ f_chassis , 22 ] , [ f_chassis , 24 ] ] ] ) >= 6 do
4136: LD_INT 125
4138: PPUSH
4139: CALL_OW 301
4143: PUSH
4144: LD_INT 22
4146: PUSH
4147: LD_INT 8
4149: PUSH
4150: EMPTY
4151: LIST
4152: LIST
4153: PUSH
4154: LD_INT 21
4156: PUSH
4157: LD_INT 2
4159: PUSH
4160: EMPTY
4161: LIST
4162: LIST
4163: PUSH
4164: LD_INT 2
4166: PUSH
4167: LD_INT 31
4169: PUSH
4170: LD_INT 3
4172: PUSH
4173: EMPTY
4174: LIST
4175: LIST
4176: PUSH
4177: LD_INT 31
4179: PUSH
4180: LD_INT 4
4182: PUSH
4183: EMPTY
4184: LIST
4185: LIST
4186: PUSH
4187: LD_INT 31
4189: PUSH
4190: LD_INT 14
4192: PUSH
4193: EMPTY
4194: LIST
4195: LIST
4196: PUSH
4197: LD_INT 31
4199: PUSH
4200: LD_INT 22
4202: PUSH
4203: EMPTY
4204: LIST
4205: LIST
4206: PUSH
4207: LD_INT 31
4209: PUSH
4210: LD_INT 24
4212: PUSH
4213: EMPTY
4214: LIST
4215: LIST
4216: PUSH
4217: EMPTY
4218: LIST
4219: LIST
4220: LIST
4221: LIST
4222: LIST
4223: LIST
4224: PUSH
4225: EMPTY
4226: LIST
4227: LIST
4228: LIST
4229: PPUSH
4230: CALL_OW 69
4234: PUSH
4235: LD_INT 6
4237: GREATEREQUAL
4238: AND
4239: IFFALSE 4283
4241: GO 4243
4243: DISABLE
// begin Say ( Lesiu , k3a ) ;
4244: LD_EXP 1
4248: PPUSH
4249: LD_STRING k3a
4251: PPUSH
4252: CALL_OW 88
// ChangeMissionObjectives ( zbudujout ) ;
4256: LD_STRING zbudujout
4258: PPUSH
4259: CALL_OW 337
// ChangeMissionObjectives ( c5 ) ;
4263: LD_STRING c5
4265: PPUSH
4266: CALL_OW 337
// SetAreaMapShow ( Koniec , 1 ) ;
4270: LD_INT 17
4272: PPUSH
4273: LD_INT 1
4275: PPUSH
4276: CALL_OW 424
// enable ( 90 ) ;
4280: LD_INT 90
4282: ENABLE_MARKED
// end ;
4283: END
// every 0 0$1 trigger FilterUnitsInArea ( Koniec , [ [ f_side , 8 ] , [ f_type , unit_vehicle ] , [ f_or , [ f_chassis , 3 ] , [ f_chassis , 4 ] , [ f_chassis , 14 ] , [ f_chassis , 22 ] , [ f_chassis , 24 ] ] ] ) >= 6 do
4284: LD_INT 17
4286: PPUSH
4287: LD_INT 22
4289: PUSH
4290: LD_INT 8
4292: PUSH
4293: EMPTY
4294: LIST
4295: LIST
4296: PUSH
4297: LD_INT 21
4299: PUSH
4300: LD_INT 2
4302: PUSH
4303: EMPTY
4304: LIST
4305: LIST
4306: PUSH
4307: LD_INT 2
4309: PUSH
4310: LD_INT 31
4312: PUSH
4313: LD_INT 3
4315: PUSH
4316: EMPTY
4317: LIST
4318: LIST
4319: PUSH
4320: LD_INT 31
4322: PUSH
4323: LD_INT 4
4325: PUSH
4326: EMPTY
4327: LIST
4328: LIST
4329: PUSH
4330: LD_INT 31
4332: PUSH
4333: LD_INT 14
4335: PUSH
4336: EMPTY
4337: LIST
4338: LIST
4339: PUSH
4340: LD_INT 31
4342: PUSH
4343: LD_INT 22
4345: PUSH
4346: EMPTY
4347: LIST
4348: LIST
4349: PUSH
4350: LD_INT 31
4352: PUSH
4353: LD_INT 24
4355: PUSH
4356: EMPTY
4357: LIST
4358: LIST
4359: PUSH
4360: EMPTY
4361: LIST
4362: LIST
4363: LIST
4364: LIST
4365: LIST
4366: LIST
4367: PUSH
4368: EMPTY
4369: LIST
4370: LIST
4371: LIST
4372: PPUSH
4373: CALL_OW 70
4377: PUSH
4378: LD_INT 6
4380: GREATEREQUAL
4381: IFFALSE 4730
4383: GO 4385
4385: DISABLE
// begin if Bron = 1 then
4386: LD_EXP 31
4390: PUSH
4391: LD_INT 1
4393: EQUAL
4394: IFFALSE 4408
// begin AddMedal ( med1 , 1 ) ;
4396: LD_STRING med1
4398: PPUSH
4399: LD_INT 1
4401: PPUSH
4402: CALL_OW 101
// end else
4406: GO 4419
// begin AddMedal ( med1 , - 1 ) ;
4408: LD_STRING med1
4410: PPUSH
4411: LD_INT 1
4413: NEG
4414: PPUSH
4415: CALL_OW 101
// end ; if FilterAllUnits ( [ [ f_side , 8 ] , [ f_class , 16 ] ] ) > 0 then
4419: LD_INT 22
4421: PUSH
4422: LD_INT 8
4424: PUSH
4425: EMPTY
4426: LIST
4427: LIST
4428: PUSH
4429: LD_INT 25
4431: PUSH
4432: LD_INT 16
4434: PUSH
4435: EMPTY
4436: LIST
4437: LIST
4438: PUSH
4439: EMPTY
4440: LIST
4441: LIST
4442: PPUSH
4443: CALL_OW 69
4447: PUSH
4448: LD_INT 0
4450: GREATER
4451: IFFALSE 4463
// begin AddMedal ( med2 , 1 ) ;
4453: LD_STRING med2
4455: PPUSH
4456: LD_INT 1
4458: PPUSH
4459: CALL_OW 101
// end ; if FilterAllUnits ( [ [ f_side , 8 ] , [ f_class , 16 ] ] ) = 0 and ApeQuest = 1 then
4463: LD_INT 22
4465: PUSH
4466: LD_INT 8
4468: PUSH
4469: EMPTY
4470: LIST
4471: LIST
4472: PUSH
4473: LD_INT 25
4475: PUSH
4476: LD_INT 16
4478: PUSH
4479: EMPTY
4480: LIST
4481: LIST
4482: PUSH
4483: EMPTY
4484: LIST
4485: LIST
4486: PPUSH
4487: CALL_OW 69
4491: PUSH
4492: LD_INT 0
4494: EQUAL
4495: PUSH
4496: LD_EXP 30
4500: PUSH
4501: LD_INT 1
4503: EQUAL
4504: AND
4505: IFFALSE 4518
// begin AddMedal ( med2 , - 1 ) ;
4507: LD_STRING med2
4509: PPUSH
4510: LD_INT 1
4512: NEG
4513: PPUSH
4514: CALL_OW 101
// end ; if FilterAllUnits ( [ [ f_side , 8 ] , [ f_class , 16 ] ] ) = 0 and ApeQuest = 0 then
4518: LD_INT 22
4520: PUSH
4521: LD_INT 8
4523: PUSH
4524: EMPTY
4525: LIST
4526: LIST
4527: PUSH
4528: LD_INT 25
4530: PUSH
4531: LD_INT 16
4533: PUSH
4534: EMPTY
4535: LIST
4536: LIST
4537: PUSH
4538: EMPTY
4539: LIST
4540: LIST
4541: PPUSH
4542: CALL_OW 69
4546: PUSH
4547: LD_INT 0
4549: EQUAL
4550: PUSH
4551: LD_EXP 30
4555: PUSH
4556: LD_INT 0
4558: EQUAL
4559: AND
4560: IFFALSE 4573
// begin AddMedal ( med2 , - 2 ) ;
4562: LD_STRING med2
4564: PPUSH
4565: LD_INT 2
4567: NEG
4568: PPUSH
4569: CALL_OW 101
// end ; AddMedal ( med3 , 1 ) ;
4573: LD_STRING med3
4575: PPUSH
4576: LD_INT 1
4578: PPUSH
4579: CALL_OW 101
// GiveMedals ( main ) ;
4583: LD_STRING main
4585: PPUSH
4586: CALL_OW 102
// RewardPeople ( [ lesiu , blood , fajfer , wojtek , moralez , ostra ] ) ;
4590: LD_EXP 1
4594: PUSH
4595: LD_EXP 4
4599: PUSH
4600: LD_EXP 3
4604: PUSH
4605: LD_EXP 5
4609: PUSH
4610: LD_EXP 6
4614: PUSH
4615: LD_EXP 2
4619: PUSH
4620: EMPTY
4621: LIST
4622: LIST
4623: LIST
4624: LIST
4625: LIST
4626: LIST
4627: PPUSH
4628: CALL_OW 43
// SaveCharacters ( lesiu , lesiu ) ;
4632: LD_EXP 1
4636: PPUSH
4637: LD_STRING lesiu
4639: PPUSH
4640: CALL_OW 38
// SaveCharacters ( blood , blood ) ;
4644: LD_EXP 4
4648: PPUSH
4649: LD_STRING blood
4651: PPUSH
4652: CALL_OW 38
// SaveCharacters ( fajfer , fajfer ) ;
4656: LD_EXP 3
4660: PPUSH
4661: LD_STRING fajfer
4663: PPUSH
4664: CALL_OW 38
// SaveCharacters ( wojtek , wojtek ) ;
4668: LD_EXP 5
4672: PPUSH
4673: LD_STRING wojtek
4675: PPUSH
4676: CALL_OW 38
// SaveCharacters ( moralez , moralez ) ;
4680: LD_EXP 6
4684: PPUSH
4685: LD_STRING moralez
4687: PPUSH
4688: CALL_OW 38
// SaveCharacters ( ostra , ostra ) ;
4692: LD_EXP 2
4696: PPUSH
4697: LD_STRING ostra
4699: PPUSH
4700: CALL_OW 38
// SaveCharacters ( ajdem , ajdem ) ;
4704: LD_INT 322
4706: PPUSH
4707: LD_STRING ajdem
4709: PPUSH
4710: CALL_OW 38
// SaveCharacters ( drops , drops ) ;
4714: LD_EXP 20
4718: PPUSH
4719: LD_STRING drops
4721: PPUSH
4722: CALL_OW 38
// YouWin ;
4726: CALL_OW 103
// end ; end_of_file
4730: END
// every 0 0$1 trigger IsInArea ( emi , dojscie ) do
4731: LD_INT 307
4733: PPUSH
4734: LD_INT 11
4736: PPUSH
4737: CALL_OW 308
4741: IFFALSE 4753
4743: GO 4745
4745: DISABLE
// begin YouLost ( dotarl ) ;
4746: LD_STRING dotarl
4748: PPUSH
4749: CALL_OW 104
// end ;
4753: END
// every 0 0$1 trigger FilterUnitsInArea ( widze , [ f_side , 8 ] ) > 0 marked 2 do
4754: LD_INT 10
4756: PPUSH
4757: LD_INT 22
4759: PUSH
4760: LD_INT 8
4762: PUSH
4763: EMPTY
4764: LIST
4765: LIST
4766: PPUSH
4767: CALL_OW 70
4771: PUSH
4772: LD_INT 0
4774: GREATER
4775: IFFALSE 4787
4777: GO 4779
4779: DISABLE
// begin YouLost ( widzieli ) ;
4780: LD_STRING widzieli
4782: PPUSH
4783: CALL_OW 104
// end ;
4787: END
// every 0 0$1 trigger IsDead ( emi ) and Zabiles = 0 do
4788: LD_INT 307
4790: PPUSH
4791: CALL_OW 301
4795: PUSH
4796: LD_EXP 16
4800: PUSH
4801: LD_INT 0
4803: EQUAL
4804: AND
4805: IFFALSE 4817
4807: GO 4809
4809: DISABLE
// begin YouLost ( emided ) ;
4810: LD_STRING emided
4812: PPUSH
4813: CALL_OW 104
// end ;
4817: END
// every 0 0$1 trigger isdead ( fajfer ) do
4818: LD_EXP 3
4822: PPUSH
4823: CALL_OW 301
4827: IFFALSE 4839
4829: GO 4831
4831: DISABLE
// begin Youlost ( die ) ;
4832: LD_STRING die
4834: PPUSH
4835: CALL_OW 104
// end ;
4839: END
// every 0 0$1 trigger isdead ( lesiu ) do
4840: LD_EXP 1
4844: PPUSH
4845: CALL_OW 301
4849: IFFALSE 4861
4851: GO 4853
4853: DISABLE
// begin Youlost ( die ) ;
4854: LD_STRING die
4856: PPUSH
4857: CALL_OW 104
// end ;
4861: END
// every 0 0$1 trigger isdead ( ostra ) do
4862: LD_EXP 2
4866: PPUSH
4867: CALL_OW 301
4871: IFFALSE 4883
4873: GO 4875
4875: DISABLE
// begin Youlost ( die ) ;
4876: LD_STRING die
4878: PPUSH
4879: CALL_OW 104
// end ;
4883: END
// every 0 0$1 trigger isdead ( wojtek ) do
4884: LD_EXP 5
4888: PPUSH
4889: CALL_OW 301
4893: IFFALSE 4905
4895: GO 4897
4897: DISABLE
// begin Youlost ( die ) ;
4898: LD_STRING die
4900: PPUSH
4901: CALL_OW 104
// end ;
4905: END
// every 0 0$1 trigger isdead ( blood ) do
4906: LD_EXP 4
4910: PPUSH
4911: CALL_OW 301
4915: IFFALSE 4927
4917: GO 4919
4919: DISABLE
// begin Youlost ( die ) ;
4920: LD_STRING die
4922: PPUSH
4923: CALL_OW 104
// end ;
4927: END
// every 0 0$1 trigger isdead ( moralez ) do
4928: LD_EXP 6
4932: PPUSH
4933: CALL_OW 301
4937: IFFALSE 4949
4939: GO 4941
4941: DISABLE
// begin Youlost ( die ) ;
4942: LD_STRING die
4944: PPUSH
4945: CALL_OW 104
// end ; end_of_file
4949: END
// every 4 4$10 do
4950: GO 4952
4952: DISABLE
// begin enable ;
4953: ENABLE
// CreateCratesArea ( Rand ( 3 , 5 ) , Skrzynki , true ) ;
4954: LD_INT 3
4956: PPUSH
4957: LD_INT 5
4959: PPUSH
4960: CALL_OW 12
4964: PPUSH
4965: LD_INT 13
4967: PPUSH
4968: LD_INT 1
4970: PPUSH
4971: CALL_OW 55
// CreateCratesArea ( Rand ( 3 , 5 ) , Skrzynki , true ) ;
4975: LD_INT 3
4977: PPUSH
4978: LD_INT 5
4980: PPUSH
4981: CALL_OW 12
4985: PPUSH
4986: LD_INT 13
4988: PPUSH
4989: LD_INT 1
4991: PPUSH
4992: CALL_OW 55
// end ; end_of_file
4996: END
// every 0 0$01 do var un , EnginerList , buildings , depots , i ;
4997: GO 4999
4999: DISABLE
5000: LD_INT 0
5002: PPUSH
5003: PPUSH
5004: PPUSH
5005: PPUSH
5006: PPUSH
// begin enable ;
5007: ENABLE
// EnginerList := FilterAllUnits ( [ [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_lives , 1000 ] ] ] ) ;
5008: LD_ADDR_VAR 0 2
5012: PUSH
5013: LD_INT 22
5015: PUSH
5016: LD_INT 3
5018: PUSH
5019: EMPTY
5020: LIST
5021: LIST
5022: PUSH
5023: LD_INT 25
5025: PUSH
5026: LD_INT 2
5028: PUSH
5029: EMPTY
5030: LIST
5031: LIST
5032: PUSH
5033: LD_INT 24
5035: PUSH
5036: LD_INT 1000
5038: PUSH
5039: EMPTY
5040: LIST
5041: LIST
5042: PUSH
5043: EMPTY
5044: LIST
5045: LIST
5046: LIST
5047: PUSH
5048: EMPTY
5049: LIST
5050: PPUSH
5051: CALL_OW 69
5055: ST_TO_ADDR
// buildings := FilterUnitsInArea ( RuBase , [ [ [ f_side , 3 ] , [ f_type , unit_building ] , [ f_not , [ f_lives , 1000 ] ] ] ] ) ;
5056: LD_ADDR_VAR 0 3
5060: PUSH
5061: LD_INT 14
5063: PPUSH
5064: LD_INT 22
5066: PUSH
5067: LD_INT 3
5069: PUSH
5070: EMPTY
5071: LIST
5072: LIST
5073: PUSH
5074: LD_INT 21
5076: PUSH
5077: LD_INT 3
5079: PUSH
5080: EMPTY
5081: LIST
5082: LIST
5083: PUSH
5084: LD_INT 3
5086: PUSH
5087: LD_INT 24
5089: PUSH
5090: LD_INT 1000
5092: PUSH
5093: EMPTY
5094: LIST
5095: LIST
5096: PUSH
5097: EMPTY
5098: LIST
5099: LIST
5100: PUSH
5101: EMPTY
5102: LIST
5103: LIST
5104: LIST
5105: PUSH
5106: EMPTY
5107: LIST
5108: PPUSH
5109: CALL_OW 70
5113: ST_TO_ADDR
// if buildings > 0 then
5114: LD_VAR 0 3
5118: PUSH
5119: LD_INT 0
5121: GREATER
5122: IFFALSE 5204
// begin for i = 1 to EnginerList do
5124: LD_ADDR_VAR 0 5
5128: PUSH
5129: DOUBLE
5130: LD_INT 1
5132: DEC
5133: ST_TO_ADDR
5134: LD_VAR 0 2
5138: PUSH
5139: FOR_TO
5140: IFFALSE 5202
// begin if IsInUnit ( EnginerList [ i ] ) then
5142: LD_VAR 0 2
5146: PUSH
5147: LD_VAR 0 5
5151: ARRAY
5152: PPUSH
5153: CALL_OW 310
5157: IFFALSE 5176
// ComExitBuilding ( EnginerList [ i ] ) else
5159: LD_VAR 0 2
5163: PUSH
5164: LD_VAR 0 5
5168: ARRAY
5169: PPUSH
5170: CALL_OW 122
5174: GO 5200
// ComRepairBuilding ( EnginerList [ i ] , buildings [ 1 ] ) ;
5176: LD_VAR 0 2
5180: PUSH
5181: LD_VAR 0 5
5185: ARRAY
5186: PPUSH
5187: LD_VAR 0 3
5191: PUSH
5192: LD_INT 1
5194: ARRAY
5195: PPUSH
5196: CALL_OW 130
// end ;
5200: GO 5139
5202: POP
5203: POP
// end ; if buildings = 0 then
5204: LD_VAR 0 3
5208: PUSH
5209: LD_INT 0
5211: EQUAL
5212: IFFALSE 5290
// begin for i = 1 to EnginerList do
5214: LD_ADDR_VAR 0 5
5218: PUSH
5219: DOUBLE
5220: LD_INT 1
5222: DEC
5223: ST_TO_ADDR
5224: LD_VAR 0 2
5228: PUSH
5229: FOR_TO
5230: IFFALSE 5288
// begin if not HasTask ( EnginerList [ i ] ) and not IsInUnit ( EnginerList [ i ] ) then
5232: LD_VAR 0 2
5236: PUSH
5237: LD_VAR 0 5
5241: ARRAY
5242: PPUSH
5243: CALL_OW 314
5247: NOT
5248: PUSH
5249: LD_VAR 0 2
5253: PUSH
5254: LD_VAR 0 5
5258: ARRAY
5259: PPUSH
5260: CALL_OW 310
5264: NOT
5265: AND
5266: IFFALSE 5286
// ComEnterUnit ( EnginerList [ i ] , rudepo ) ;
5268: LD_VAR 0 2
5272: PUSH
5273: LD_VAR 0 5
5277: ARRAY
5278: PPUSH
5279: LD_INT 125
5281: PPUSH
5282: CALL_OW 120
// end ;
5286: GO 5229
5288: POP
5289: POP
// end ; end ;
5290: PPOPN 5
5292: END
// every 0 0$1 do var EnginerList , HealerList , i ;
5293: GO 5295
5295: DISABLE
5296: LD_INT 0
5298: PPUSH
5299: PPUSH
5300: PPUSH
// begin enable ;
5301: ENABLE
// EnginerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 2 ] , [ f_not , [ f_lives , 820 ] ] ] ) ;
5302: LD_ADDR_VAR 0 1
5306: PUSH
5307: LD_INT 22
5309: PUSH
5310: LD_INT 3
5312: PUSH
5313: EMPTY
5314: LIST
5315: LIST
5316: PUSH
5317: LD_INT 25
5319: PUSH
5320: LD_INT 2
5322: PUSH
5323: EMPTY
5324: LIST
5325: LIST
5326: PUSH
5327: LD_INT 3
5329: PUSH
5330: LD_INT 24
5332: PUSH
5333: LD_INT 820
5335: PUSH
5336: EMPTY
5337: LIST
5338: LIST
5339: PUSH
5340: EMPTY
5341: LIST
5342: LIST
5343: PUSH
5344: EMPTY
5345: LIST
5346: LIST
5347: LIST
5348: PPUSH
5349: CALL_OW 69
5353: ST_TO_ADDR
// HealerList := FilterAllUnits ( [ [ f_side , 3 ] , [ f_class , 4 ] ] ) ;
5354: LD_ADDR_VAR 0 2
5358: PUSH
5359: LD_INT 22
5361: PUSH
5362: LD_INT 3
5364: PUSH
5365: EMPTY
5366: LIST
5367: LIST
5368: PUSH
5369: LD_INT 25
5371: PUSH
5372: LD_INT 4
5374: PUSH
5375: EMPTY
5376: LIST
5377: LIST
5378: PUSH
5379: EMPTY
5380: LIST
5381: LIST
5382: PPUSH
5383: CALL_OW 69
5387: ST_TO_ADDR
// if EnginerList > 0 then
5388: LD_VAR 0 1
5392: PUSH
5393: LD_INT 0
5395: GREATER
5396: IFFALSE 5561
// begin for i = 1 to EnginerList do
5398: LD_ADDR_VAR 0 3
5402: PUSH
5403: DOUBLE
5404: LD_INT 1
5406: DEC
5407: ST_TO_ADDR
5408: LD_VAR 0 1
5412: PUSH
5413: FOR_TO
5414: IFFALSE 5559
// begin ComExitBuilding ( HealerList [ 1 ] ) ;
5416: LD_VAR 0 2
5420: PUSH
5421: LD_INT 1
5423: ARRAY
5424: PPUSH
5425: CALL_OW 122
// if IsInUnit ( EnginerList [ i ] ) then
5429: LD_VAR 0 1
5433: PUSH
5434: LD_VAR 0 3
5438: ARRAY
5439: PPUSH
5440: CALL_OW 310
5444: IFFALSE 5461
// ComExitBuilding ( EnginerList [ i ] ) ;
5446: LD_VAR 0 1
5450: PUSH
5451: LD_VAR 0 3
5455: ARRAY
5456: PPUSH
5457: CALL_OW 122
// wait ( 0 0$1 ) ;
5461: LD_INT 35
5463: PPUSH
5464: CALL_OW 67
// ComMoveToArea ( EnginerList [ 1 ] , RuHealZone ) ;
5468: LD_VAR 0 1
5472: PUSH
5473: LD_INT 1
5475: ARRAY
5476: PPUSH
5477: LD_INT 15
5479: PPUSH
5480: CALL_OW 113
// if not IsInUnit ( EnginerList [ i ] ) then
5484: LD_VAR 0 1
5488: PUSH
5489: LD_VAR 0 3
5493: ARRAY
5494: PPUSH
5495: CALL_OW 310
5499: NOT
5500: IFFALSE 5520
// ComMoveToArea ( EnginerList [ i ] , RuHealZone ) ;
5502: LD_VAR 0 1
5506: PUSH
5507: LD_VAR 0 3
5511: ARRAY
5512: PPUSH
5513: LD_INT 15
5515: PPUSH
5516: CALL_OW 113
// if GetLives ( EnginerList [ i ] ) = 1000 then
5520: LD_VAR 0 1
5524: PUSH
5525: LD_VAR 0 3
5529: ARRAY
5530: PPUSH
5531: CALL_OW 256
5535: PUSH
5536: LD_INT 1000
5538: EQUAL
5539: IFFALSE 5557
// ComEnterUnit ( HealerList [ 1 ] , rulab ) ;
5541: LD_VAR 0 2
5545: PUSH
5546: LD_INT 1
5548: ARRAY
5549: PPUSH
5550: LD_INT 217
5552: PPUSH
5553: CALL_OW 120
// end ;
5557: GO 5413
5559: POP
5560: POP
// end ; end ;
5561: PPOPN 3
5563: END
// export function ResAllTechs ( side , lab ) ; var i , tech , cout ; begin
5564: LD_INT 0
5566: PPUSH
5567: PPUSH
5568: PPUSH
5569: PPUSH
// for i = 1 to 72 do
5570: LD_ADDR_VAR 0 4
5574: PUSH
5575: DOUBLE
5576: LD_INT 1
5578: DEC
5579: ST_TO_ADDR
5580: LD_INT 72
5582: PUSH
5583: FOR_TO
5584: IFFALSE 5622
// begin if GetTech ( i , side ) = state_enabled then
5586: LD_VAR 0 4
5590: PPUSH
5591: LD_VAR 0 1
5595: PPUSH
5596: CALL_OW 321
5600: PUSH
5601: LD_INT 1
5603: EQUAL
5604: IFFALSE 5620
// AddComResearch ( lab , i ) ;
5606: LD_VAR 0 2
5610: PPUSH
5611: LD_VAR 0 4
5615: PPUSH
5616: CALL_OW 184
// end ;
5620: GO 5583
5622: POP
5623: POP
// cout = cout + 1 ;
5624: LD_ADDR_VAR 0 6
5628: PUSH
5629: LD_VAR 0 6
5633: PUSH
5634: LD_INT 1
5636: PLUS
5637: ST_TO_ADDR
// Wait ( 0 0$01 ) ;
5638: LD_INT 35
5640: PPUSH
5641: CALL_OW 67
// end ;
5645: LD_VAR 0 3
5649: RET
// every 0 0$01 do
5650: GO 5652
5652: DISABLE
// begin ResAllTechs ( 3 , rulab ) ;
5653: LD_INT 3
5655: PPUSH
5656: LD_INT 217
5658: PPUSH
5659: CALL 5564 0 2
// end ;
5663: END
// export function AddMechanic ; var un ; begin
5664: LD_INT 0
5666: PPUSH
5667: PPUSH
// uc_side = 3 ;
5668: LD_ADDR_OWVAR 20
5672: PUSH
5673: LD_INT 3
5675: ST_TO_ADDR
// uc_nation = 3 ;
5676: LD_ADDR_OWVAR 21
5680: PUSH
5681: LD_INT 3
5683: ST_TO_ADDR
// hc_gallery =  ;
5684: LD_ADDR_OWVAR 33
5688: PUSH
5689: LD_STRING 
5691: ST_TO_ADDR
// hc_name =  ;
5692: LD_ADDR_OWVAR 26
5696: PUSH
5697: LD_STRING 
5699: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 4 ) , Rand ( 0 , 4 ) , Rand ( 3 , 5 ) , Rand ( 0 , 4 ) ] ;
5700: LD_ADDR_OWVAR 31
5704: PUSH
5705: LD_INT 0
5707: PPUSH
5708: LD_INT 4
5710: PPUSH
5711: CALL_OW 12
5715: PUSH
5716: LD_INT 0
5718: PPUSH
5719: LD_INT 4
5721: PPUSH
5722: CALL_OW 12
5726: PUSH
5727: LD_INT 3
5729: PPUSH
5730: LD_INT 5
5732: PPUSH
5733: CALL_OW 12
5737: PUSH
5738: LD_INT 0
5740: PPUSH
5741: LD_INT 4
5743: PPUSH
5744: CALL_OW 12
5748: PUSH
5749: EMPTY
5750: LIST
5751: LIST
5752: LIST
5753: LIST
5754: ST_TO_ADDR
// hc_class = 3 ;
5755: LD_ADDR_OWVAR 28
5759: PUSH
5760: LD_INT 3
5762: ST_TO_ADDR
// un := CreateHuman ;
5763: LD_ADDR_VAR 0 2
5767: PUSH
5768: CALL_OW 44
5772: ST_TO_ADDR
// PlaceHumanInUnit ( un , rufab ) ;
5773: LD_VAR 0 2
5777: PPUSH
5778: LD_INT 204
5780: PPUSH
5781: CALL_OW 52
// end ;
5785: LD_VAR 0 1
5789: RET
// every 0 0$01 do
5790: GO 5792
5792: DISABLE
// begin enable ;
5793: ENABLE
// if cont_d = 5 then
5794: LD_EXP 22
5798: PUSH
5799: LD_INT 5
5801: EQUAL
5802: IFFALSE 5838
// begin fala = fala + 1 ;
5804: LD_ADDR_EXP 15
5808: PUSH
5809: LD_EXP 15
5813: PUSH
5814: LD_INT 1
5816: PLUS
5817: ST_TO_ADDR
// cont_d := 0 ;
5818: LD_ADDR_EXP 22
5822: PUSH
5823: LD_INT 0
5825: ST_TO_ADDR
// ProduceNewVehicle ;
5826: CALL 6218 0 0
// cont_d := 0 ;
5830: LD_ADDR_EXP 22
5834: PUSH
5835: LD_INT 0
5837: ST_TO_ADDR
// end ; end ;
5838: END
// export cont_v , cont_d , group ; every 0 0$0.1 do
5839: GO 5841
5841: DISABLE
// begin cont_v := 0 ;
5842: LD_ADDR_EXP 21
5846: PUSH
5847: LD_INT 0
5849: ST_TO_ADDR
// cont_d := 0 ;
5850: LD_ADDR_EXP 22
5854: PUSH
5855: LD_INT 0
5857: ST_TO_ADDR
// group := [ ] ;
5858: LD_ADDR_EXP 23
5862: PUSH
5863: EMPTY
5864: ST_TO_ADDR
// AttackGroup = [ ] ;
5865: LD_ADDR_EXP 29
5869: PUSH
5870: EMPTY
5871: ST_TO_ADDR
// end ;
5872: END
// export function setneworders ; begin
5873: LD_INT 0
5875: PPUSH
// AddMechanic ;
5876: CALL 5664 0 0
// AddMechanic ;
5880: CALL 5664 0 0
// AddMechanic ;
5884: CALL 5664 0 0
// end ;
5888: LD_VAR 0 1
5892: RET
// every 0 0$1 do var enemy , units , un , target1 , target2 ;
5893: GO 5895
5895: DISABLE
5896: LD_INT 0
5898: PPUSH
5899: PPUSH
5900: PPUSH
5901: PPUSH
5902: PPUSH
// begin enable ;
5903: ENABLE
// Wait ( 0 0$0.3 ) ;
5904: LD_INT 10
5906: PPUSH
5907: CALL_OW 67
// repeat begin wait ( 0 0$3 ) ;
5911: LD_INT 105
5913: PPUSH
5914: CALL_OW 67
// ComAgressiveMove ( group , 132 , 120 ) ;
5918: LD_EXP 23
5922: PPUSH
5923: LD_INT 132
5925: PPUSH
5926: LD_INT 120
5928: PPUSH
5929: CALL_OW 114
// end until AttackGroup = [ ] ;
5933: LD_EXP 29
5937: PUSH
5938: EMPTY
5939: EQUAL
5940: IFFALSE 5911
// end ; end_of_file
5942: PPOPN 5
5944: END
// export Cont_Ready ; on UnitDestroyed ( un ) do begin if un in group then
5945: LD_VAR 0 1
5949: PUSH
5950: LD_EXP 23
5954: IN
5955: IFFALSE 5971
// begin cont_d := cont_d + 1 ;
5957: LD_ADDR_EXP 22
5961: PUSH
5962: LD_EXP 22
5966: PUSH
5967: LD_INT 1
5969: PLUS
5970: ST_TO_ADDR
// end ; end ;
5971: PPOPN 1
5973: END
// export v_track , v_engine , v_control , v_weapon ; export AttackGroup ; on VehicleConstructed ( un , fac ) do var i ;
5974: LD_INT 0
5976: PPUSH
// begin if fac = rufab then
5977: LD_VAR 0 2
5981: PUSH
5982: LD_INT 204
5984: EQUAL
5985: IFFALSE 6158
// if GetSide ( un ) = 3 then
5987: LD_VAR 0 1
5991: PPUSH
5992: CALL_OW 255
5996: PUSH
5997: LD_INT 3
5999: EQUAL
6000: IFFALSE 6158
// begin if un in FilterAllUnits ( [ [ f_side , 3 ] , [ f_type , unit_vehicle ] ] ) then
6002: LD_VAR 0 1
6006: PUSH
6007: LD_INT 22
6009: PUSH
6010: LD_INT 3
6012: PUSH
6013: EMPTY
6014: LIST
6015: LIST
6016: PUSH
6017: LD_INT 21
6019: PUSH
6020: LD_INT 2
6022: PUSH
6023: EMPTY
6024: LIST
6025: LIST
6026: PUSH
6027: EMPTY
6028: LIST
6029: LIST
6030: PPUSH
6031: CALL_OW 69
6035: IN
6036: IFFALSE 6158
// begin cont_v := cont_v + 1 ;
6038: LD_ADDR_EXP 21
6042: PUSH
6043: LD_EXP 21
6047: PUSH
6048: LD_INT 1
6050: PLUS
6051: ST_TO_ADDR
// cont_ready = cont_ready + 1 ;
6052: LD_ADDR_EXP 24
6056: PUSH
6057: LD_EXP 24
6061: PUSH
6062: LD_INT 1
6064: PLUS
6065: ST_TO_ADDR
// AttackGroup = AttackGroup ^ un ;
6066: LD_ADDR_EXP 29
6070: PUSH
6071: LD_EXP 29
6075: PUSH
6076: LD_VAR 0 1
6080: ADD
6081: ST_TO_ADDR
// group := group ^ un ;
6082: LD_ADDR_EXP 23
6086: PUSH
6087: LD_EXP 23
6091: PUSH
6092: LD_VAR 0 1
6096: ADD
6097: ST_TO_ADDR
// v_track := GetChassis ( un ) ;
6098: LD_ADDR_EXP 25
6102: PUSH
6103: LD_VAR 0 1
6107: PPUSH
6108: CALL_OW 265
6112: ST_TO_ADDR
// v_engine := GetEngine ( un ) ;
6113: LD_ADDR_EXP 26
6117: PUSH
6118: LD_VAR 0 1
6122: PPUSH
6123: CALL_OW 262
6127: ST_TO_ADDR
// v_control := GetControl ( un ) ;
6128: LD_ADDR_EXP 27
6132: PUSH
6133: LD_VAR 0 1
6137: PPUSH
6138: CALL_OW 263
6142: ST_TO_ADDR
// v_weapon := GetWeapon ( un ) ;
6143: LD_ADDR_EXP 28
6147: PUSH
6148: LD_VAR 0 1
6152: PPUSH
6153: CALL_OW 264
6157: ST_TO_ADDR
// end ; end ; if cont_v = 3 then
6158: LD_EXP 21
6162: PUSH
6163: LD_INT 3
6165: EQUAL
6166: IFFALSE 6188
// begin cont_v = 0 ;
6168: LD_ADDR_EXP 21
6172: PUSH
6173: LD_INT 0
6175: ST_TO_ADDR
// SetNewOrders ;
6176: CALL 5873 0 0
// cont_v = 0 ;
6180: LD_ADDR_EXP 21
6184: PUSH
6185: LD_INT 0
6187: ST_TO_ADDR
// end ; end ;
6188: PPOPN 3
6190: END
// on VehicleCaptured ( old_veh , new_veh , old_side , lol2 ) do begin if old_side = 3 then
6191: LD_VAR 0 3
6195: PUSH
6196: LD_INT 3
6198: EQUAL
6199: IFFALSE 6215
// begin cont_d = cont_d + 1 ;
6201: LD_ADDR_EXP 22
6205: PUSH
6206: LD_EXP 22
6210: PUSH
6211: LD_INT 1
6213: PLUS
6214: ST_TO_ADDR
// end ; end ;
6215: PPOPN 4
6217: END
// export function ProduceNewVehicle ; begin
6218: LD_INT 0
6220: PPUSH
// if Difficulty = 1 then
6221: LD_OWVAR 67
6225: PUSH
6226: LD_INT 1
6228: EQUAL
6229: IFFALSE 6288
// begin Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 42 ) ;
6231: LD_INT 204
6233: PPUSH
6234: LD_INT 22
6236: PPUSH
6237: LD_INT 1
6239: PPUSH
6240: LD_INT 1
6242: PPUSH
6243: LD_INT 42
6245: PPUSH
6246: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 42 ) ;
6250: LD_INT 204
6252: PPUSH
6253: LD_INT 22
6255: PPUSH
6256: LD_INT 1
6258: PPUSH
6259: LD_INT 1
6261: PPUSH
6262: LD_INT 42
6264: PPUSH
6265: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
6269: LD_INT 204
6271: PPUSH
6272: LD_INT 22
6274: PPUSH
6275: LD_INT 1
6277: PPUSH
6278: LD_INT 1
6280: PPUSH
6281: LD_INT 43
6283: PPUSH
6284: CALL_OW 185
// end ; if Difficulty = 2 then
6288: LD_OWVAR 67
6292: PUSH
6293: LD_INT 2
6295: EQUAL
6296: IFFALSE 6355
// begin Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 42 ) ;
6298: LD_INT 204
6300: PPUSH
6301: LD_INT 22
6303: PPUSH
6304: LD_INT 1
6306: PPUSH
6307: LD_INT 1
6309: PPUSH
6310: LD_INT 42
6312: PPUSH
6313: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
6317: LD_INT 204
6319: PPUSH
6320: LD_INT 22
6322: PPUSH
6323: LD_INT 1
6325: PPUSH
6326: LD_INT 1
6328: PPUSH
6329: LD_INT 43
6331: PPUSH
6332: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
6336: LD_INT 204
6338: PPUSH
6339: LD_INT 22
6341: PPUSH
6342: LD_INT 1
6344: PPUSH
6345: LD_INT 1
6347: PPUSH
6348: LD_INT 43
6350: PPUSH
6351: CALL_OW 185
// end ; if Difficulty = 3 then
6355: LD_OWVAR 67
6359: PUSH
6360: LD_INT 3
6362: EQUAL
6363: IFFALSE 6422
// begin Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 43 ) ;
6365: LD_INT 204
6367: PPUSH
6368: LD_INT 22
6370: PPUSH
6371: LD_INT 1
6373: PPUSH
6374: LD_INT 1
6376: PPUSH
6377: LD_INT 43
6379: PPUSH
6380: CALL_OW 185
// Addcomconstruct ( rufab , 22 , engine_combustion , 1 , 44 ) ;
6384: LD_INT 204
6386: PPUSH
6387: LD_INT 22
6389: PPUSH
6390: LD_INT 1
6392: PPUSH
6393: LD_INT 1
6395: PPUSH
6396: LD_INT 44
6398: PPUSH
6399: CALL_OW 185
// Addcomconstruct ( rufab , 24 , engine_combustion , 1 , 44 ) ;
6403: LD_INT 204
6405: PPUSH
6406: LD_INT 24
6408: PPUSH
6409: LD_INT 1
6411: PPUSH
6412: LD_INT 1
6414: PPUSH
6415: LD_INT 44
6417: PPUSH
6418: CALL_OW 185
// end ; end ; end_of_file
6422: LD_VAR 0 1
6426: RET
// export ApeQuest ; export Bron ; every 0 0$1 trigger GetTech ( 18 , 8 ) = state_researched do
6427: LD_INT 18
6429: PPUSH
6430: LD_INT 8
6432: PPUSH
6433: CALL_OW 321
6437: PUSH
6438: LD_INT 2
6440: EQUAL
6441: IFFALSE 6461
6443: GO 6445
6445: DISABLE
// begin ChangeMissionObjectives ( C4o ) ;
6446: LD_STRING C4o
6448: PPUSH
6449: CALL_OW 337
// Bron = 1 ;
6453: LD_ADDR_EXP 31
6457: PUSH
6458: LD_INT 1
6460: ST_TO_ADDR
// end ;
6461: END
// export Apeman ; export Oswojenie ; on ApemanTamed ( ktery , kym ) do begin if ( GetSide ( kym ) = 8 ) and Apeman = 1 then
6462: LD_VAR 0 2
6466: PPUSH
6467: CALL_OW 255
6471: PUSH
6472: LD_INT 8
6474: EQUAL
6475: PUSH
6476: LD_EXP 32
6480: PUSH
6481: LD_INT 1
6483: EQUAL
6484: AND
6485: IFFALSE 6546
// begin DialogueOn ;
6487: CALL_OW 6
// Say ( fajfer , c1 ) ;
6491: LD_EXP 3
6495: PPUSH
6496: LD_STRING c1
6498: PPUSH
6499: CALL_OW 88
// Say ( lesiu , c2 ) ;
6503: LD_EXP 1
6507: PPUSH
6508: LD_STRING c2
6510: PPUSH
6511: CALL_OW 88
// Say ( fajfer , c3 ) ;
6515: LD_EXP 3
6519: PPUSH
6520: LD_STRING c3
6522: PPUSH
6523: CALL_OW 88
// DialogueOff ;
6527: CALL_OW 7
// ChangeMissionObjectives ( c3 ) ;
6531: LD_STRING c3
6533: PPUSH
6534: CALL_OW 337
// Apeman = 0 ;
6538: LD_ADDR_EXP 32
6542: PUSH
6543: LD_INT 0
6545: ST_TO_ADDR
// end ; end ;
6546: PPOPN 2
6548: END
// every 0 0$1 trigger GetTech ( 2 , 8 ) = state_researched do
6549: LD_INT 2
6551: PPUSH
6552: LD_INT 8
6554: PPUSH
6555: CALL_OW 321
6559: PUSH
6560: LD_INT 2
6562: EQUAL
6563: IFFALSE 6583
6565: GO 6567
6567: DISABLE
// begin ChangeMissionObjectives ( C3o ) ;
6568: LD_STRING C3o
6570: PPUSH
6571: CALL_OW 337
// ApeQuest = 1 ;
6575: LD_ADDR_EXP 30
6579: PUSH
6580: LD_INT 1
6582: ST_TO_ADDR
// end ; end_of_file
6583: END
// export apemans , tigers , birds ; export function PrepareNature ; var l , apeman , tiger , bird ; begin
6584: LD_INT 0
6586: PPUSH
6587: PPUSH
6588: PPUSH
6589: PPUSH
6590: PPUSH
// apemans := [ ] ;
6591: LD_ADDR_EXP 34
6595: PUSH
6596: EMPTY
6597: ST_TO_ADDR
// tigers := [ ] ;
6598: LD_ADDR_EXP 35
6602: PUSH
6603: EMPTY
6604: ST_TO_ADDR
// birds := [ ] ;
6605: LD_ADDR_EXP 36
6609: PUSH
6610: EMPTY
6611: ST_TO_ADDR
// uc_nation = nation_nature ;
6612: LD_ADDR_OWVAR 21
6616: PUSH
6617: LD_INT 0
6619: ST_TO_ADDR
// uc_side = 0 ;
6620: LD_ADDR_OWVAR 20
6624: PUSH
6625: LD_INT 0
6627: ST_TO_ADDR
// l = 0 ;
6628: LD_ADDR_VAR 0 2
6632: PUSH
6633: LD_INT 0
6635: ST_TO_ADDR
// repeat begin uc_direction = Rand ( 0 , 5 ) ;
6636: LD_ADDR_OWVAR 24
6640: PUSH
6641: LD_INT 0
6643: PPUSH
6644: LD_INT 5
6646: PPUSH
6647: CALL_OW 12
6651: ST_TO_ADDR
// hc_agressivity = Rand ( 0 , 25 ) ;
6652: LD_ADDR_OWVAR 35
6656: PUSH
6657: LD_INT 0
6659: PPUSH
6660: LD_INT 25
6662: PPUSH
6663: CALL_OW 12
6667: ST_TO_ADDR
// hc_gallery =  ;
6668: LD_ADDR_OWVAR 33
6672: PUSH
6673: LD_STRING 
6675: ST_TO_ADDR
// hc_class = class_apeman ;
6676: LD_ADDR_OWVAR 28
6680: PUSH
6681: LD_INT 12
6683: ST_TO_ADDR
// hc_attr = [ Rand ( 11 , 13 ) , Rand ( 10 , 11 ) ] ;
6684: LD_ADDR_OWVAR 29
6688: PUSH
6689: LD_INT 11
6691: PPUSH
6692: LD_INT 13
6694: PPUSH
6695: CALL_OW 12
6699: PUSH
6700: LD_INT 10
6702: PPUSH
6703: LD_INT 11
6705: PPUSH
6706: CALL_OW 12
6710: PUSH
6711: EMPTY
6712: LIST
6713: LIST
6714: ST_TO_ADDR
// hc_sex = sex_male ;
6715: LD_ADDR_OWVAR 27
6719: PUSH
6720: LD_INT 1
6722: ST_TO_ADDR
// hc_skills = [ Rand ( 0 , 2 ) , 0 , 0 , 0 ] ;
6723: LD_ADDR_OWVAR 31
6727: PUSH
6728: LD_INT 0
6730: PPUSH
6731: LD_INT 2
6733: PPUSH
6734: CALL_OW 12
6738: PUSH
6739: LD_INT 0
6741: PUSH
6742: LD_INT 0
6744: PUSH
6745: LD_INT 0
6747: PUSH
6748: EMPTY
6749: LIST
6750: LIST
6751: LIST
6752: LIST
6753: ST_TO_ADDR
// apeman = CreateHuman ;
6754: LD_ADDR_VAR 0 3
6758: PUSH
6759: CALL_OW 44
6763: ST_TO_ADDR
// PlaceUnitArea ( apeman , MapA , false ) ;
6764: LD_VAR 0 3
6768: PPUSH
6769: LD_INT 18
6771: PPUSH
6772: LD_INT 0
6774: PPUSH
6775: CALL_OW 49
// apemans := apemans ^ apeman ;
6779: LD_ADDR_EXP 34
6783: PUSH
6784: LD_EXP 34
6788: PUSH
6789: LD_VAR 0 3
6793: ADD
6794: ST_TO_ADDR
// l = l + 1 ;
6795: LD_ADDR_VAR 0 2
6799: PUSH
6800: LD_VAR 0 2
6804: PUSH
6805: LD_INT 1
6807: PLUS
6808: ST_TO_ADDR
// end until l = 6 ;
6809: LD_VAR 0 2
6813: PUSH
6814: LD_INT 6
6816: EQUAL
6817: IFFALSE 6636
// l = 0 ;
6819: LD_ADDR_VAR 0 2
6823: PUSH
6824: LD_INT 0
6826: ST_TO_ADDR
// repeat begin hc_agressivity = Rand ( 0 , 30 ) ;
6827: LD_ADDR_OWVAR 35
6831: PUSH
6832: LD_INT 0
6834: PPUSH
6835: LD_INT 30
6837: PPUSH
6838: CALL_OW 12
6842: ST_TO_ADDR
// hc_class = class_tiger ;
6843: LD_ADDR_OWVAR 28
6847: PUSH
6848: LD_INT 14
6850: ST_TO_ADDR
// hc_sex = sex_male ;
6851: LD_ADDR_OWVAR 27
6855: PUSH
6856: LD_INT 1
6858: ST_TO_ADDR
// hc_gallery = nature ;
6859: LD_ADDR_OWVAR 33
6863: PUSH
6864: LD_STRING nature
6866: ST_TO_ADDR
// hc_face_number = 3 ;
6867: LD_ADDR_OWVAR 34
6871: PUSH
6872: LD_INT 3
6874: ST_TO_ADDR
// tiger = CreateHuman ;
6875: LD_ADDR_VAR 0 4
6879: PUSH
6880: CALL_OW 44
6884: ST_TO_ADDR
// PlaceUnitArea ( tiger , MapA , false ) ;
6885: LD_VAR 0 4
6889: PPUSH
6890: LD_INT 18
6892: PPUSH
6893: LD_INT 0
6895: PPUSH
6896: CALL_OW 49
// tigers := tigers ^ tiger ;
6900: LD_ADDR_EXP 35
6904: PUSH
6905: LD_EXP 35
6909: PUSH
6910: LD_VAR 0 4
6914: ADD
6915: ST_TO_ADDR
// l = l + 1 ;
6916: LD_ADDR_VAR 0 2
6920: PUSH
6921: LD_VAR 0 2
6925: PUSH
6926: LD_INT 1
6928: PLUS
6929: ST_TO_ADDR
// end until l = [ 1 , 2 , 3 ] [ Difficulty ] ;
6930: LD_VAR 0 2
6934: PUSH
6935: LD_INT 1
6937: PUSH
6938: LD_INT 2
6940: PUSH
6941: LD_INT 3
6943: PUSH
6944: EMPTY
6945: LIST
6946: LIST
6947: LIST
6948: PUSH
6949: LD_OWVAR 67
6953: ARRAY
6954: EQUAL
6955: IFFALSE 6827
// l = 0 ;
6957: LD_ADDR_VAR 0 2
6961: PUSH
6962: LD_INT 0
6964: ST_TO_ADDR
// repeat begin hc_class = class_phororhacos ;
6965: LD_ADDR_OWVAR 28
6969: PUSH
6970: LD_INT 18
6972: ST_TO_ADDR
// hc_gallery = nature ;
6973: LD_ADDR_OWVAR 33
6977: PUSH
6978: LD_STRING nature
6980: ST_TO_ADDR
// hc_face_number = 1 ;
6981: LD_ADDR_OWVAR 34
6985: PUSH
6986: LD_INT 1
6988: ST_TO_ADDR
// bird = CreateHuman ;
6989: LD_ADDR_VAR 0 5
6993: PUSH
6994: CALL_OW 44
6998: ST_TO_ADDR
// PlaceUnitArea ( bird , MapA , false ) ;
6999: LD_VAR 0 5
7003: PPUSH
7004: LD_INT 18
7006: PPUSH
7007: LD_INT 0
7009: PPUSH
7010: CALL_OW 49
// birds := birds ^ bird ;
7014: LD_ADDR_EXP 36
7018: PUSH
7019: LD_EXP 36
7023: PUSH
7024: LD_VAR 0 5
7028: ADD
7029: ST_TO_ADDR
// l = l + 1 ;
7030: LD_ADDR_VAR 0 2
7034: PUSH
7035: LD_VAR 0 2
7039: PUSH
7040: LD_INT 1
7042: PLUS
7043: ST_TO_ADDR
// end until l = 4 ;
7044: LD_VAR 0 2
7048: PUSH
7049: LD_INT 4
7051: EQUAL
7052: IFFALSE 6965
// l = 0 ;
7054: LD_ADDR_VAR 0 2
7058: PUSH
7059: LD_INT 0
7061: ST_TO_ADDR
// end ; end_of_file
7062: LD_VAR 0 1
7066: RET
// export function PrepareAttack ; var veh , un , l , i , ArAtTeam , ArWeapon , Level , fabric , arx , ary , ru_units , ru_build , ru , dri , YouCanAttack , units , target1 , target2 , target3 , enemy , arlmt , piechota , mortal ; begin
7067: LD_INT 0
7069: PPUSH
7070: PPUSH
7071: PPUSH
7072: PPUSH
7073: PPUSH
7074: PPUSH
7075: PPUSH
7076: PPUSH
7077: PPUSH
7078: PPUSH
7079: PPUSH
7080: PPUSH
7081: PPUSH
7082: PPUSH
7083: PPUSH
7084: PPUSH
7085: PPUSH
7086: PPUSH
7087: PPUSH
7088: PPUSH
7089: PPUSH
7090: PPUSH
7091: PPUSH
7092: PPUSH
// Wait ( 0 0$03 ) ;
7093: LD_INT 105
7095: PPUSH
7096: CALL_OW 67
// ArAtTeam = [ ] ;
7100: LD_ADDR_VAR 0 6
7104: PUSH
7105: EMPTY
7106: ST_TO_ADDR
// ArWeapon = [ 42 , 43 , 44 , 45 ] ;
7107: LD_ADDR_VAR 0 7
7111: PUSH
7112: LD_INT 42
7114: PUSH
7115: LD_INT 43
7117: PUSH
7118: LD_INT 44
7120: PUSH
7121: LD_INT 45
7123: PUSH
7124: EMPTY
7125: LIST
7126: LIST
7127: LIST
7128: LIST
7129: ST_TO_ADDR
// l = 0 ;
7130: LD_ADDR_VAR 0 4
7134: PUSH
7135: LD_INT 0
7137: ST_TO_ADDR
// uc_side = 3 ;
7138: LD_ADDR_OWVAR 20
7142: PUSH
7143: LD_INT 3
7145: ST_TO_ADDR
// uc_nation = 3 ;
7146: LD_ADDR_OWVAR 21
7150: PUSH
7151: LD_INT 3
7153: ST_TO_ADDR
// repeat begin vc_chassis = 22 ;
7154: LD_ADDR_OWVAR 37
7158: PUSH
7159: LD_INT 22
7161: ST_TO_ADDR
// vc_engine = engine_combustion ;
7162: LD_ADDR_OWVAR 39
7166: PUSH
7167: LD_INT 1
7169: ST_TO_ADDR
// vc_control = 3 ;
7170: LD_ADDR_OWVAR 38
7174: PUSH
7175: LD_INT 3
7177: ST_TO_ADDR
// vc_weapon = ArWeapon [ Rand ( 1 , 4 ) ] ;
7178: LD_ADDR_OWVAR 40
7182: PUSH
7183: LD_VAR 0 7
7187: PUSH
7188: LD_INT 1
7190: PPUSH
7191: LD_INT 4
7193: PPUSH
7194: CALL_OW 12
7198: ARRAY
7199: ST_TO_ADDR
// veh = CreateVehicle ;
7200: LD_ADDR_VAR 0 2
7204: PUSH
7205: CALL_OW 45
7209: ST_TO_ADDR
// PlaceUnitArea ( veh , RuSpawn , false ) ;
7210: LD_VAR 0 2
7214: PPUSH
7215: LD_INT 19
7217: PPUSH
7218: LD_INT 0
7220: PPUSH
7221: CALL_OW 49
// ArAtTeam = ArAtTeam ^ veh ;
7225: LD_ADDR_VAR 0 6
7229: PUSH
7230: LD_VAR 0 6
7234: PUSH
7235: LD_VAR 0 2
7239: ADD
7240: ST_TO_ADDR
// ComAgressiveMove ( ArAtTeam , 132 , 122 ) ;
7241: LD_VAR 0 6
7245: PPUSH
7246: LD_INT 132
7248: PPUSH
7249: LD_INT 122
7251: PPUSH
7252: CALL_OW 114
// l = l + 1 ;
7256: LD_ADDR_VAR 0 4
7260: PUSH
7261: LD_VAR 0 4
7265: PUSH
7266: LD_INT 1
7268: PLUS
7269: ST_TO_ADDR
// end until l = [ 2 , 3 , 4 ] [ Difficulty ] ;
7270: LD_VAR 0 4
7274: PUSH
7275: LD_INT 2
7277: PUSH
7278: LD_INT 3
7280: PUSH
7281: LD_INT 4
7283: PUSH
7284: EMPTY
7285: LIST
7286: LIST
7287: LIST
7288: PUSH
7289: LD_OWVAR 67
7293: ARRAY
7294: EQUAL
7295: IFFALSE 7154
// repeat begin Wait ( 0 0$03 ) ;
7297: LD_INT 105
7299: PPUSH
7300: CALL_OW 67
// ComAgressiveMove ( ArAtTeam , 132 , 122 ) ;
7304: LD_VAR 0 6
7308: PPUSH
7309: LD_INT 132
7311: PPUSH
7312: LD_INT 122
7314: PPUSH
7315: CALL_OW 114
// enemy := FilterAllUnits ( [ f_side , 8 ] ) ;
7319: LD_ADDR_VAR 0 21
7323: PUSH
7324: LD_INT 22
7326: PUSH
7327: LD_INT 8
7329: PUSH
7330: EMPTY
7331: LIST
7332: LIST
7333: PPUSH
7334: CALL_OW 69
7338: ST_TO_ADDR
// units := ArAtTeam ;
7339: LD_ADDR_VAR 0 17
7343: PUSH
7344: LD_VAR 0 6
7348: ST_TO_ADDR
// for un in units do
7349: LD_ADDR_VAR 0 3
7353: PUSH
7354: LD_VAR 0 17
7358: PUSH
7359: FOR_IN
7360: IFFALSE 7434
// begin target1 := NearestUnitToUnit ( FilterAllUnits ( [ [ f_side , 8 ] ] ) , un ) ;
7362: LD_ADDR_VAR 0 18
7366: PUSH
7367: LD_INT 22
7369: PUSH
7370: LD_INT 8
7372: PUSH
7373: EMPTY
7374: LIST
7375: LIST
7376: PUSH
7377: EMPTY
7378: LIST
7379: PPUSH
7380: CALL_OW 69
7384: PPUSH
7385: LD_VAR 0 3
7389: PPUSH
7390: CALL_OW 74
7394: ST_TO_ADDR
// if See ( un , target1 ) then
7395: LD_VAR 0 3
7399: PPUSH
7400: LD_VAR 0 18
7404: PPUSH
7405: CALL_OW 292
7409: IFFALSE 7432
// begin wait ( 0 0$1 ) ;
7411: LD_INT 35
7413: PPUSH
7414: CALL_OW 67
// ComAttackUnit ( un , target1 ) ;
7418: LD_VAR 0 3
7422: PPUSH
7423: LD_VAR 0 18
7427: PPUSH
7428: CALL_OW 115
// end ; end ;
7432: GO 7359
7434: POP
7435: POP
// end until ArAtTeam = [ ] ;
7436: LD_VAR 0 6
7440: PUSH
7441: EMPTY
7442: EQUAL
7443: IFFALSE 7297
// end ;
7445: LD_VAR 0 1
7449: RET
// every 13 13$0 do
7450: GO 7452
7452: DISABLE
// begin enable ;
7453: ENABLE
// PrepareAttack ;
7454: CALL 7067 0 0
// end ;
7458: END
